Use bump allocator for initial property storage
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-09-08  Oliver Hunt  <oliver@apple.com>
2
3         Use bump allocator for initial property storage
4         https://bugs.webkit.org/show_bug.cgi?id=67494
5
6         Reviewed by Geoffrey Garen.
7
8         Add a forwarding header.
9
10         * ForwardingHeaders/runtime/StorageBarrier.h: Added.
11
12 2011-09-08  Roland Steiner  <rolandsteiner@chromium.org>
13
14         Unreviewed, rolling out r94809.
15         http://trac.webkit.org/changeset/94809
16         https://bugs.webkit.org/show_bug.cgi?id=67718
17
18         commit _still_ premature, despite CQ eagerness
19
20         * html/HTMLAttributeNames.in:
21         * html/HTMLStyleElement.cpp:
22         * html/HTMLStyleElement.h:
23         * html/HTMLStyleElement.idl:
24
25 2011-09-08  Sam Weinig  <sam@webkit.org>
26
27         Remove the Completion object from JSC, I have never liked it
28         https://bugs.webkit.org/show_bug.cgi?id=67755
29
30         Reviewed by Gavin Barraclough.
31
32         * bindings/js/JSDOMBinding.cpp:
33         (WebCore::reportException):
34         * bindings/js/JSEventListener.cpp:
35         (WebCore::JSEventListener::handleEvent):
36         * bindings/js/JSInjectedScriptManager.cpp:
37         (WebCore::InjectedScriptManager::createInjectedScript):
38         * bindings/js/JSMainThreadExecState.h:
39         (WebCore::JSMainThreadExecState::evaluate):
40         * bindings/js/ScriptController.cpp:
41         (WebCore::ScriptController::evaluateInWorld):
42         * bindings/js/WorkerScriptController.cpp:
43         (WebCore::WorkerScriptController::evaluate):
44         * bindings/objc/WebScriptObject.mm:
45         (-[WebScriptObject evaluateWebScript:]):
46         * bridge/NP_jsobject.cpp:
47         (_NPN_Evaluate):
48         * bridge/jni/jni_jsobject.mm:
49         (JavaJSObject::eval):
50
51 2011-09-08  Adam Barth  <abarth@webkit.org>
52
53         Inline DocumentWriter::encoding() into it's only caller: deprecatedFrameEncoding()
54         https://bugs.webkit.org/show_bug.cgi?id=67807
55
56         Reviewed by Eric Seidel.
57
58         This function is super nutty.  We don't want any more folks to call it
59         thinking that it does something sane.
60
61         * loader/DocumentWriter.cpp:
62         (WebCore::DocumentWriter::deprecatedFrameEncoding):
63         * loader/DocumentWriter.h:
64
65 2011-09-08  Roland Steiner  <rolandsteiner@chromium.org>
66
67         <style scoped>: Add 'scoped' attribute
68         https://bugs.webkit.org/show_bug.cgi?id=67718
69
70         Add 'scoped' attribute to IDL and attribute list,
71         implement and test setting/resetting of the attribute.
72
73         Reviewed by Dimitri Glazkov.
74
75         Test: fast/css/style-scoped/basic-attribute.html
76
77         * html/HTMLAttributeNames.in:
78         * html/HTMLStyleElement.cpp:
79         (WebCore::HTMLStyleElement::scoped):
80         (WebCore::HTMLStyleElement::setScoped):
81         (WebCore::HTMLStyleElement::scopingElement):
82         * html/HTMLStyleElement.h:
83         * html/HTMLStyleElement.idl:
84
85 2011-09-08  Sheriff Bot  <webkit.review.bot@gmail.com>
86
87         Unreviewed, rolling out r94781.
88         http://trac.webkit.org/changeset/94781
89         https://bugs.webkit.org/show_bug.cgi?id=67806
90
91         Broke Objective-C binding on Mac (Requested by rniwa on
92         #webkit).
93
94         * dom/Element.idl:
95         * dom/Node.cpp:
96         (WebCore::Node::contains):
97         * dom/Node.idl:
98         * editing/DeleteSelectionCommand.cpp:
99         (WebCore::DeleteSelectionCommand::mergeParagraphs):
100
101 2011-09-08  Eric Seidel  <eric@webkit.org>
102
103         Remove DocumentWriter::setDecoder as a grep of WebKit shows no callers
104         https://bugs.webkit.org/show_bug.cgi?id=67803
105
106         Reviewed by Adam Barth.
107
108         Smells like dead code.
109
110         * loader/DocumentWriter.cpp:
111         * loader/DocumentWriter.h:
112
113 2011-09-08  Shinya Kawanaka  <shinyak@google.com>
114
115         Crashes in WebCore::ReplaceSelectionCommand::doApply
116         https://bugs.webkit.org/show_bug.cgi?id=67762
117
118         Reviewed by Ryosuke Niwa.
119
120         WebCore::enclosingBlock may return null, but its return value was not checked. This patch checks it.
121
122         Tests: editing/inserting/insert-without-enclosing-block.html
123
124         * editing/ReplaceSelectionCommand.cpp:
125         (WebCore::ReplaceSelectionCommand::doApply): Added null check.
126
127 2011-09-08  Sheriff Bot  <webkit.review.bot@gmail.com>
128
129         Unreviewed, rolling out r94784.
130         http://trac.webkit.org/changeset/94784
131         https://bugs.webkit.org/show_bug.cgi?id=67796
132
133         Commit was premature (Requested by rolandsteiner on #webkit).
134
135         * html/HTMLAttributeNames.in:
136         * html/HTMLStyleElement.cpp:
137         * html/HTMLStyleElement.h:
138         * html/HTMLStyleElement.idl:
139
140 2011-09-08  W. James MacLean  <wjmaclean@chromium.org>
141
142         [chromium] Add backend compositor support for rescaling (zooming) textures during zoom animation.
143         https://bugs.webkit.org/show_bug.cgi?id=66472
144
145         This patch contains plumbing from Internals to WebViewImpl that can be removed
146         at a later time when the zoom animator code is complete.
147
148         Reviewed by James Robinson.
149
150         Test: platform/chromium/compositing/zoom-animator-scale-test.html
151
152         * page/Settings.cpp:
153         (WebCore::Settings::Settings):
154         * page/Settings.h:
155         (WebCore::Settings::setZoomAnimatorScale):
156         (WebCore::Settings::zoomAnimatorScale):
157         * platform/graphics/chromium/LayerRendererChromium.cpp:
158         (WebCore::LayerRendererChromium::LayerRendererChromium):
159         (WebCore::LayerRendererChromium::drawLayersInternal):
160         * platform/graphics/chromium/LayerRendererChromium.h:
161         (WebCore::LayerRendererChromium::setZoomAnimatorScale):
162         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
163         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
164         (WebCore::CCLayerTreeHost::commitTo):
165         (WebCore::CCLayerTreeHost::setZoomAnimatorScale):
166         (WebCore::CCLayerTreeHost::updateLayers):
167         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
168         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
169         (WebCore::CCLayerTreeHostImpl::setZoomAnimatorScale):
170         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
171         * testing/Internals.cpp:
172         (WebCore::Internals::setZoomAnimatorScale):
173         * testing/Internals.h:
174         * testing/Internals.idl:
175
176 2011-09-08  Eric Carlson  <eric.carlson@apple.com>
177
178         HTMLMediaElement is missing initialTime attribute
179         https://bugs.webkit.org/show_bug.cgi?id=67791
180
181         Reviewed by Darin Adler.
182
183         Test: media/media-initialTime.html
184
185         * html/HTMLMediaElement.cpp:
186         (WebCore::HTMLMediaElement::initialTime):
187         * html/HTMLMediaElement.h:
188         * html/HTMLMediaElement.idl:
189         * platform/graphics/MediaPlayer.cpp:
190         (WebCore::MediaPlayer::initialTime):
191         * platform/graphics/MediaPlayer.h:
192         * platform/graphics/MediaPlayerPrivate.h:
193         (WebCore::MediaPlayerPrivateInterface::initialTime):
194
195 2011-09-03  Robert Hogan  <robert@webkit.org>
196
197         Elements with position:absolute don't move to correct position after images load
198         https://bugs.webkit.org/show_bug.cgi?id=54611
199
200         Reviewed by Simon Fraser.
201
202         Test: fast/block/positioning/absolute-layout-after-image-load.html
203
204         In the test the 'label' block is an absolutely positioned child of an inline flow. So during layout, 
205         this RenderBlock::layoutPositionedObjects fails to dirty it for rendering because it requires 
206         the parent to be a BlockFlow. The code to do this was introduced in http://trac.webkit.org/changeset/8284. 
207         There doesn't seem to be a good reason for requiring a BlockFlow, so remove the check. 
208
209         Note: Although the issue is encountered only on first load without a fragment identifier, it 
210         happens reliably when you include the fragment identifier in the url (#Footnote_1). This is so 
211         because scrolling to the fragment always happens before the image has loaded, rendering the page 
212         and clearing the initial dirty bits in the positioned element's renderer. When the image finally 
213         loads in this scenario, the positioned element is otherwise clean and relies on the above code to get 
214         re-rendered.
215
216         Note: This was originally landed in r94755 but positioned-float-layout-after-image-load.html exposed
217               an ASSERT bug, unrelated to this change, and was rolled out. That issue is tracked separately
218               in bug 67759.
219
220         * rendering/RenderBlock.cpp:
221         (WebCore::RenderBlock::layoutPositionedObjects): remove the check for r->parent()->isBlockFlow() when 
222                                                          deciding whether to mark children for layout
223
224 2011-09-08  Roland Steiner  <rolandsteiner@chromium.org>
225
226         <style scoped>: Add 'scoped' attribute
227         https://bugs.webkit.org/show_bug.cgi?id=67718
228
229         Add 'scoped' attribute to IDL and attribute list,
230         implement and test setting/resetting of the attribute.
231
232         Reviewed by Dimitri Glazkov.
233
234         Test: fast/css/style-scoped/basic-attribute.html
235
236         * html/HTMLAttributeNames.in:
237         * html/HTMLStyleElement.cpp:
238         (WebCore::HTMLStyleElement::scoped):
239         (WebCore::HTMLStyleElement::setScoped):
240         (WebCore::HTMLStyleElement::scopingElement):
241         * html/HTMLStyleElement.h:
242         * html/HTMLStyleElement.idl:
243
244 2011-09-08  Erik Arvidsson  <arv@chromium.org>
245
246         Move Element.contains to Node
247         https://bugs.webkit.org/show_bug.cgi?id=67651
248
249         Reviewed by Darin Adler.
250
251         This moves the contains method from Element to Node as in the DOM4 working draft: 
252         http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#dom-node-contains
253
254         This also special cases Document contains to make it O(1) instead of O(depth).
255
256         Tests: fast/dom/Node/contains-method.html
257                perf/document-contains.html
258
259         * dom/Element.idl:
260         * dom/Node.cpp:
261         (WebCore::Node::contains): Added document special case.
262         * dom/Node.idl:
263         * editing/DeleteSelectionCommand.cpp:
264         (WebCore::DeleteSelectionCommand::mergeParagraphs): Added a null check.
265
266 2011-09-08  Chris Rogers  <crogers@google.com>
267
268         Check AudioContext createChannelMerger() for thread safety
269         https://bugs.webkit.org/show_bug.cgi?id=67247
270
271         Reviewed by Kenneth Russell.
272
273         Test: webaudio/audiochannelmerger-stereo.html
274
275         * webaudio/AudioChannelMerger.cpp:
276         (WebCore::AudioChannelMerger::process):
277         (WebCore::AudioChannelMerger::checkNumberOfChannelsForInput):
278         * webaudio/AudioChannelMerger.h:
279
280 2011-09-08  Ned Holbrook  <nholbrook@apple.com>
281
282         Refactor hyphen measurement
283         https://bugs.webkit.org/show_bug.cgi?id=67728
284
285         Reviewed by Darin Adler.
286
287         No new tests, purely refactoring.
288
289         * rendering/RenderBlockLineLayout.cpp:
290         (WebCore::measureHyphenWidth): Added.
291         (WebCore::setLogicalWidthForTextRun): Use measureHyphenWidth().
292         (WebCore::tryHyphenating): Ditto.
293         (WebCore::RenderBlock::LineBreaker::nextLineBreak): Ditto.
294
295 2011-09-08  Julien Chaffraix  <jchaffraix@webkit.org>
296
297         Remove LayoutStateDisabler instances from RenderLayer
298         https://bugs.webkit.org/show_bug.cgi?id=66896
299
300         Reviewed by Simon Fraser.
301
302         As part of r93614, scrollTo does not call updateLayerPositions anymore.
303         This means that we don't need to disable LayoutState from the scrolling code
304         in RenderLayer.
305
306         This change is covered by the existing tests.
307
308         * rendering/RenderLayer.cpp:
309         (WebCore::RenderLayer::updateLayerPositions): Updated the comment
310         that was not accurate anymore. Also explained what is wrong with
311         LayoutState vs RenderLayer now. Note that the ASSERT is still
312         valid and will not trigger as the remaining calls to updateLayerPositions
313         are done *outside* layout() where LayoutState is not set (thus disabled).
314
315         (WebCore::RenderLayer::updateScrollInfoAfterLayout): Removed
316         2 LayoutStateDisabler surrounding scrollToOffset.
317
318 2011-09-08  Julien Chaffraix  <jchaffraix@webkit.org>
319
320         Factor out the code to get the first non-null RenderTableSection in RenderTable
321         https://bugs.webkit.org/show_bug.cgi?id=66972
322
323         Reviewed by Darin Adler.
324
325         Refactoring only, covered by existing tests.
326
327         * accessibility/AccessibilityTable.cpp:
328         (WebCore::AccessibilityTable::addChildren):
329         (WebCore::AccessibilityTable::cellForColumnAndRow):
330         * accessibility/AccessibilityTableCell.cpp:
331         (WebCore::AccessibilityTableCell::rowIndexRange):
332         Updated those for the signature change in sectionBelow. Also added
333         a FIXME where topSection should be used instead of iterating
334         over the section (and likely missing some corner cases).
335
336         * rendering/FixedTableLayout.cpp:
337         (WebCore::FixedTableLayout::calcWidthArray):
338         * rendering/RenderTable.cpp:
339         (WebCore::RenderTable::calcBorderStart):
340         (WebCore::RenderTable::calcBorderEnd):
341         (WebCore::RenderTable::outerBorderBefore):
342         (WebCore::RenderTable::sectionAbove):
343         (WebCore::RenderTable::sectionBelow):
344         (WebCore::RenderTable::firstLineBoxBaseline):
345         Updated all those functions to use the newly added functions. Also changed
346         the variable names to match the functions.
347
348         (WebCore::RenderTable::layout):
349         (WebCore::RenderTable::topNonEmptySection): Newly added function
350         that returns the top non null section of the table that has at least a
351         row.
352
353         (WebCore::RenderTable::cellAbove):
354         (WebCore::RenderTable::cellBelow):
355         Update the signature of those 2 functions to take an enum as it makes the
356         rest of the code more readable.
357
358         * rendering/RenderTable.h:
359         (WebCore::RenderTable::topSection): Newly added function to return
360         the top non null section in the table.
361
362 2011-04-19  Eric Seidel  <eric@webkit.org>
363
364         Reviewed by Ryosuke Niwa.
365
366         [BiDi] [CSS3] MASTER: Add support for the unicode-bidi:isolate CSS property
367         https://bugs.webkit.org/show_bug.cgi?id=50912
368
369         This patch adds support for CSS3 unicode-bidi: isolate property, under the -webkit- vendor prefix.
370         Parsing support was added in a previous patch, this wires up the RenderStyle values
371         to code changes in the BidiResolver.
372
373         The effect of this patch is that it makes it possible to "isolate" runs of text
374         so that their RTL-ness or LTR-ness does not bleed out into the rest of your text
375         and effect layout.  This is important because many unicode characters (like parenthesis, ':', '-', etc.)
376         do not have intrinsic directionality and are affected by whatever characters come before/after.
377         If you have usernames which include RTL text, if you inject those usernames in your page
378         you might end up with nearby characters moving!
379         (like 'RTL USERNAME - my awesome site' as a title, could end up as
380         'my awesome site - USERNAME RTL' when correct would be 'USERNAME RTL - my awesome site'.)
381         This patch makes it possible to wrap sections of text in isolated spans, so that
382         they correctly order all their RTL/LTR contents, but also correctly participate in the
383         larger RTL/LTR ordering without affecting nearby characters.
384
385         Because much of this code is old and rarely touched, I've included extra background
386         information in hopes of expanding my set of potential reviewers:
387
388         WebKit uses the standard "Unicode Bidi Algorithm" henceforth known as the UBA.
389         The UBA is defined at http://unicode.org/reports/tr9/ for those not faint of heart.
390
391         Text layout is done per-block (<div>, <p>, etc), and begins with a string of text
392         (which in our case comes from the rendering tree) and a specified width.
393         First:  Text is measured and wrapped into lines.
394         Second: The UBA is run over the lines of text.
395         Third:  WebKit builds InlineBoxes (its linebox tree) and eventually render the text.
396
397         This patch modifies our UBA to ignore all text content inside "isolated" inlines (treating them as neutral characters)
398         and then adds another step after running the UBA, where we run the UBA recursively on any
399         previously identified "isolated" content.
400
401         The result of the UBA is an ordered list of "runs" of text with the RTL runs
402         correctly RTL and the LTR runs LTR.
403
404         The UBA does three things:
405         1.  It assigns a "class" to each character in a text stream (like neutral, strongly-RTL, strongly-LTR, etc.)
406         2.  Divides the text stream up into "runs" of characters of the same directionality (all RTL, all LTR).
407         3.  Re-orders those runs.
408
409         The UBA in WebKit is implemented by BidiResolver<T> in BidiResolver.h
410
411         The InlineBidiResolver (BidiResolver specialization which knows about the rendering tree)
412         walks along its InlineIterators, looking at each character and running the
413         Unicode Bidi Algorithm (UBA).  It walks through the rendering tree subtree under
414         a block, using a (poorly named) bidiNext function which returns the next inline object.
415         Each inline object (or text character there-in) has a corresponding meaning in the UBA
416         such as a "strong RTL" character or a "neutral" character.  The UBA reads these sequence
417         of characters, and figures out what direction (RTL or LTR) to assign to any neutral
418         characters it encounters, based on surrounding characters.
419
420         As the InlineBidiResolver is walking the rendering tree, the InlineIterator::advance()
421         function calls bidiNext(), which in turn can call notifyObserverEnteredObject/notifyObserverWillExitObject
422         notifying InlineBidiResolver that it is entering or exiting an "isolated"
423         span, at which point it will either start or stop ignoring the stream of characters
424         from the InlineIterator.  When the InlineBidiResolver is ignoring the stream of
425         characters, instead of creating separate BidiRuns at each RTL/LTR boundary
426         as it normally would, it instead creates one "fake" run for the entire
427         isolated span.  These fake runs participate in the normal UBA run ordering process,
428         but after the main UBA, a second pass is made where we examine
429         the list of isolatedRuns() and run the UBA on each of them, replacing the fake
430         run we previously inserted, with the resulting list of runs from that inner UBA run.
431         The way it "ignores" characters is by treating them all as neutral when inside an isolate.
432         Thus all the characters end up grouped in a single run, but their directionality (as a group)
433         is correctly affected by any surrounding strong characters.
434
435         If you understood that last paragraph, than the rest of the change is just plumbing.
436
437         I added a huge number of FIXMEs to this code, because this code has a variety of
438         design choices (or lack there of) which make some of this very difficult.
439
440         For example the bidiNext iterator function has two sets of mutually exclusive
441         parameters and can be used optionally with or without an observer.  Prior to this
442         change there was only ever one object which cared about observing a walk over inlines
443         and that was InlineBidiResolver.  This patch (regretfully) templatizes bidiNext
444         to support a new Observer type.  The correct fix would be to rip bidiNext into
445         multiple functions and rip need for observation out of InlineBidiResolver.
446         Unfortunately I've tried both in separate bugs and failed.  This code is very very
447         old and very poorly understood.  We're slowly moving forward, this is another tiny step.
448
449         This is my fourth iteration of this patch (I'm happy to do more!), but I believe
450         it's a good compromise between fixing all of the design gotcha's of our bidi
451         system and doing the minimum amount to add this killer CSS feature.
452
453         I ran the PLT.  (It averaged 0.2% faster with this change, but I attribute that to noise).
454
455         Test: css3/unicode-bidi-isolate-basic.html and css3/unicode-bidi-isolate-aharon.html
456
457         * platform/text/BidiResolver.h:
458         (WebCore::BidiCharacterRun::setNext):
459          - Needed by the new replaceRunWithRuns function.
460         (WebCore::BidiResolver::BidiResolver):
461         (WebCore::BidiResolver::~BidiResolver):
462         (WebCore::BidiResolver::enterIsolate):
463         (WebCore::BidiResolver::exitIsolate):
464         (WebCore::BidiResolver::inIsolate):
465         (WebCore::BidiResolver::isolatedRuns):
466          - Used to track isolated spans of text as they're encoutered.
467            They're stuffed away here to be processed recursively
468            after the main UBA has done its thang.
469         (WebCore::::appendRun):
470         (WebCore::::embed):
471         (WebCore::::commitExplicitEmbedding):
472         (WebCore::::createBidiRunsForLine):
473         * platform/text/BidiRunList.h:
474         (WebCore::::replaceRunWithRuns):
475          - This effectively takes all the runs from one runlist and adds them to
476            this one, replacing the fake run we inserted during a previous pass of the UBA.
477          - This RunList now owns the runs, so we call clear() on the other RunList
478            so that we don't end up double-freeing the runs.
479         (WebCore::::clear):
480          - This allows us to "take" runs from another run list and then clear it.
481         * rendering/BidiRun.h:
482         (WebCore::BidiRun::object):
483         * rendering/InlineIterator.h:
484         (WebCore::InlineIterator::object):
485         (WebCore::InlineIterator::offset):
486         (WebCore::notifyObserverEnteredObject): Mostly just renaming and adding a FIXME about plaintext.
487         (WebCore::notifyObserverWillExitObject): Mostly just renaming.
488         (WebCore::addPlaceholderRunForIsolatedInline):
489         (WebCore::isIsolatedInline):
490         (WebCore::InlineBidiResolver::appendRun):
491         * rendering/RenderBlockLineLayout.cpp:
492         (WebCore::statusWithDirection):
493         (WebCore::constructBidiRuns):
494          - This is the heavy-lifting of this change.  This function
495            runs the UBA recursively on all the previously identified isolated spans.
496          - If we encounter more isolated spans in our run, we just add them to the
497            main list an keep going.  Because the runs are linked lists and we have
498            direct pointers to our placeholder objects, we don't care what order
499            we process the placeholders in, so long as when we're done, they're all processed.
500         (WebCore::RenderBlock::layoutInlineChildren):
501
502 2011-09-08  Kentaro Hara  <haraken@google.com>
503
504         Implement a ProgressEvent constructor for JSC
505         https://bugs.webkit.org/show_bug.cgi?id=67537
506
507         Reviewed by Sam Weinig.
508
509         The spec for the ProgressEvent constructor is here:
510         http://www.w3.org/TR/progress-events/#interface-progressevent
511
512         Test: fast/events/constructors/progress-event-constructor.html
513
514         * bindings/generic/EventConstructors.h: Added a definition for the ProgressEvent constructor.
515         * bindings/js/JSDictionary.cpp:
516         (WebCore::JSDictionary::convertValue): Converts an ECMA-262 Number into an IDL unsigned long long value. Spec: http://www.w3.org/TR/WebIDL/#es-unsigned-long-long
517         * bindings/js/JSEventConstructors.cpp: Added #includes for ProgressEvent.
518         * dom/ProgressEvent.cpp:
519         (WebCore::ProgressEventInit::ProgressEventInit):
520         (WebCore::ProgressEvent::ProgressEvent):
521         * dom/ProgressEvent.h: Added a definition for ProgressEventInit.
522         (WebCore::ProgressEvent::create):
523         * dom/ProgressEvent.idl: Makes ProgressEvent constructible.
524
525 2011-09-08  Ryosuke Niwa  <rniwa@webkit.org>
526
527         Make bindings tests quiet after r94701.
528
529         * bindings/scripts/test/JS/JSTestInterface.cpp:
530         * bindings/scripts/test/JS/JSTestInterface.h:
531         (WebCore::JSTestInterfacePrototype::JSTestInterfacePrototype):
532         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
533         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
534         (WebCore::JSTestMediaQueryListListenerPrototype::JSTestMediaQueryListListenerPrototype):
535         * bindings/scripts/test/JS/JSTestObj.cpp:
536         * bindings/scripts/test/JS/JSTestObj.h:
537         (WebCore::JSTestObjPrototype::JSTestObjPrototype):
538         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
539         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
540         (WebCore::JSTestSerializedScriptValueInterfacePrototype::JSTestSerializedScriptValueInterfacePrototype):
541
542 2011-09-07  Pavel Podivilov  <podivilov@chromium.org>
543
544         Web Inspector: get rid of RawSourceCode.createSourceMappingIfNeeded.
545         https://bugs.webkit.org/show_bug.cgi?id=67717
546
547         Listen to SourceMappingUpdated event instead of using createSourceMappingIfNeeded.
548
549         Reviewed by Yury Semikhatsky.
550
551         * inspector/front-end/DebuggerPresentationModel.js:
552         (WebInspector.DebuggerPresentationModel):
553         (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation.updateAnchor):
554         (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation):
555         (WebInspector.DebuggerPresentationModel.prototype._updateSourceMapping):
556         (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
557         (WebInspector.DebuggerPresentationModel.prototype._restoreConsoleMessages):
558         (WebInspector.DebuggerPresentationModel.prototype.setFormatSource):
559         (WebInspector.DebuggerPresentationModel.prototype._consoleMessageAdded):
560         (WebInspector.DebuggerPresentationModel.prototype._createPresentationMessage):
561         (WebInspector.DebuggerPresentationModel.prototype._consoleCleared):
562         (WebInspector.DebuggerPresentationModel.prototype.continueToLine):
563         (WebInspector.DebuggerPresentationModel.prototype.messagesForUISourceCode):
564         (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
565         (WebInspector.PresentationCallFrame.prototype.sourceLine.sourceMappingUpdated):
566         (WebInspector.PresentationCallFrame.prototype.sourceLine):
567         * inspector/front-end/SourceFile.js:
568
569 2011-09-06  Pavel Podivilov  <podivilov@chromium.org>
570
571         Web Inspector: do not re-create RawSourceCode when toggling pretty-print mode.
572         https://bugs.webkit.org/show_bug.cgi?id=67647
573
574         1) Implement RawSourceCode.setFormatted that allows toggling pretty-print mode on the fly without resetting everything.
575         2) Add RawSourceCode unit tests.
576         3) Remove source mapping listeners and console messages from presentation model (they live in RawSourceCode now).
577
578         Reviewed by Yury Semikhatsky.
579
580         Test: inspector/debugger/raw-source-code.html
581
582         * inspector/front-end/DebuggerPresentationModel.js:
583         (WebInspector.DebuggerPresentationModel):
584         (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation):
585         (WebInspector.DebuggerPresentationModel.prototype._addScript):
586         (WebInspector.DebuggerPresentationModel.prototype._sourceMappingUpdated):
587         (WebInspector.DebuggerPresentationModel.prototype.setFormatSource):
588         (WebInspector.DebuggerPresentationModel.prototype._createRawSourceCodeId):
589         (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
590         * inspector/front-end/ScriptsPanel.js:
591         (WebInspector.ScriptsPanel.prototype._toggleFormatSource):
592         * inspector/front-end/SourceFile.js:
593         (WebInspector.RawSourceCode):
594         (WebInspector.RawSourceCode.prototype.get uiSourceCode):
595         (WebInspector.RawSourceCode.prototype.setFormatted):
596         (WebInspector.RawSourceCode.prototype.rawLocationToUILocation):
597         (WebInspector.RawSourceCode.prototype._saveSourceMapping):
598
599 2011-09-08  Alexander Pavlov  <apavlov@chromium.org>
600
601         Web Inspector: [REGRESSION] Clear console shortcut Ctrl + L broken
602         https://bugs.webkit.org/show_bug.cgi?id=67711
603
604         Reviewed by Yury Semikhatsky.
605
606         * inspector/front-end/ConsoleView.js:
607         (WebInspector.ConsoleView.prototype._consoleCleared):
608         (WebInspector.ConsoleView.prototype._registerShortcuts):
609         (WebInspector.ConsoleView.prototype._promptKeyDown):
610
611 2011-09-08  Andras Becsi  <andras.becsi@nokia.com>
612
613         [Qt] Build fails with strict compiler
614         https://bugs.webkit.org/show_bug.cgi?id=67778
615
616         Reviewed by Csaba Osztrogonác.
617
618         No new tests needed.
619
620         * platform/graphics/TiledBackingStore.cpp:
621         (WebCore::TiledBackingStore::resizeEdgeTiles): Remove unused contentsRect variable
622         which's usage was removed in r94681 to fix the build with [-Werror=unused-but-set-variable].
623
624 2011-09-08  Sheriff Bot  <webkit.review.bot@gmail.com>
625
626         Unreviewed, rolling out r94695.
627         http://trac.webkit.org/changeset/94695
628         https://bugs.webkit.org/show_bug.cgi?id=67776
629
630         Hitting an assertion on Snow Leopard, Qt, GTK (Requested by
631         Zoltan on #webkit).
632
633         * rendering/RenderBlock.cpp:
634         (WebCore::RenderBlock::positionedFloatsNeedRelayout):
635         (WebCore::RenderBlock::layoutPositionedObjects):
636
637 2011-09-08  Alexander Pavlov  <apavlov@chromium.org>
638
639         Unreviewed, strip trailing whitespace in the Web Inspector frontend (*.js and *.css).
640
641         * inspector/front-end/ApplicationCacheItemsView.js:
642         * inspector/front-end/AuditResultView.js:
643         * inspector/front-end/BinarySearch.js:
644         * inspector/front-end/CSSStyleModel.js:
645         * inspector/front-end/ConsoleMessage.js:
646         * inspector/front-end/ConsoleModel.js:
647         * inspector/front-end/ConsoleView.js:
648         * inspector/front-end/CookieItemsView.js:
649         * inspector/front-end/CookieParser.js:
650         * inspector/front-end/DOMAgent.js:
651         * inspector/front-end/DOMStorage.js:
652         * inspector/front-end/DOMStorageItemsView.js:
653         * inspector/front-end/DataGrid.js:
654         * inspector/front-end/Database.js:
655         * inspector/front-end/DatabaseQueryView.js:
656         * inspector/front-end/DetailedHeapshotGridNodes.js:
657         * inspector/front-end/DetailedHeapshotView.js:
658         * inspector/front-end/ElementsTreeOutline.js:
659         * inspector/front-end/EmptyView.js:
660         * inspector/front-end/EventListenersSidebarPane.js:
661         * inspector/front-end/ExtensionCommon.js:
662         * inspector/front-end/GoToLineDialog.js:
663         * inspector/front-end/HeapSnapshot.js:
664         * inspector/front-end/HeapSnapshotProxy.js:
665         * inspector/front-end/HeapSnapshotWorkerDispatcher.js:
666         * inspector/front-end/ImageView.js:
667         * inspector/front-end/InjectedFakeWorker.js:
668         * inspector/front-end/InspectorFrontendHostStub.js:
669         * inspector/front-end/MetricsSidebarPane.js:
670         * inspector/front-end/NetworkManager.js:
671         * inspector/front-end/NetworkPanel.js:
672         * inspector/front-end/ObjectPropertiesSection.js:
673         * inspector/front-end/PartialQuickSort.js:
674         * inspector/front-end/ProfileView.js:
675         * inspector/front-end/ProfilesPanel.js:
676         * inspector/front-end/RemoteObject.js:
677         * inspector/front-end/Resource.js:
678         * inspector/front-end/ResourceCategory.js:
679         * inspector/front-end/ResourceHTMLView.js:
680         * inspector/front-end/ResourceHeadersView.js:
681         * inspector/front-end/ResourceJSONView.js:
682         * inspector/front-end/ResourceTimingView.js:
683         * inspector/front-end/ResourceTreeModel.js:
684         * inspector/front-end/ResourceView.js:
685         * inspector/front-end/ResourcesPanel.js:
686         * inspector/front-end/SearchController.js:
687         * inspector/front-end/SettingsScreen.js:
688         * inspector/front-end/ShortcutsScreen.js:
689         * inspector/front-end/SourceCSSTokenizer.js:
690         * inspector/front-end/SourceHTMLTokenizer.js:
691         * inspector/front-end/SourceJavaScriptTokenizer.js:
692         * inspector/front-end/StatusBarButton.js:
693         * inspector/front-end/TextEditorModel.js:
694         * inspector/front-end/TimelineGrid.js:
695         * inspector/front-end/View.js:
696         * inspector/front-end/heapProfiler.css:
697         * inspector/front-end/inspector.css:
698         * inspector/front-end/inspector.js:
699         * inspector/front-end/inspectorSyntaxHighlight.css:
700         * inspector/front-end/networkPanel.css:
701         * inspector/front-end/treeoutline.js:
702         * inspector/front-end/utilities.js:
703
704 2011-09-07  Andrey Kosyakov  <caseq@chromium.org>
705
706         Web Inspector: trying to scroll mouse wheel when in TextViewer's gutter pane causes EventException::DISPATCH_REQUEST_ERR
707         https://bugs.webkit.org/show_bug.cgi?id=67715
708
709         Reviewed by Yury Semikhatsky.
710
711         - avoid exception on attempt to dispatch an event that is being dispatched by cloning the event.
712
713         * inspector/front-end/TextViewer.js:
714         (WebInspector.TextViewer.forwardWheelEvent):
715         (WebInspector.TextViewer):
716
717 2011-09-07  Sheriff Bot  <webkit.review.bot@gmail.com>
718
719         Unreviewed, rolling out r94674 and r94689.
720         http://trac.webkit.org/changeset/94674
721         http://trac.webkit.org/changeset/94689
722         https://bugs.webkit.org/show_bug.cgi?id=67754
723
724         Broke inspector/debugger/script-formatter.html (Requested by
725         rniwa on #webkit).
726
727         * inspector/front-end/DebuggerPresentationModel.js:
728         (WebInspector.DebuggerPresentationModel):
729         (WebInspector.DebuggerPresentationModel.prototype.addSourceMappingListener):
730         (WebInspector.DebuggerPresentationModel.prototype.removeSourceMappingListener):
731         (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation):
732         (WebInspector.DebuggerPresentationModel.prototype._addScript):
733         (WebInspector.DebuggerPresentationModel.prototype._sourceMappingUpdated):
734         (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
735         (WebInspector.DebuggerPresentationModel.prototype.setFormatSource):
736         (WebInspector.DebuggerPresentationModel.prototype._createRawSourceCodeId):
737         (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
738         * inspector/front-end/ScriptsPanel.js:
739         (WebInspector.ScriptsPanel.prototype._toggleFormatSource):
740         * inspector/front-end/SourceFile.js:
741         (WebInspector.RawSourceCode):
742         (WebInspector.RawSourceCode.prototype.get uiSourceCode):
743         (WebInspector.RawSourceCode.prototype.get rawSourceCode):
744         (WebInspector.RawSourceCode.prototype.rawLocationToUILocation):
745         (WebInspector.RawSourceCode.prototype.requestContent):
746         (WebInspector.RawSourceCode.prototype._saveSourceMapping):
747
748 2011-09-07  Julien Chaffraix  <jchaffraix@webkit.org>
749
750         offsetFromRoot optimization is disabled after r93837
751         https://bugs.webkit.org/show_bug.cgi?id=67677
752
753         Reviewed by Simon Fraser.
754
755         Unfortunately not covered by any test as it does not change updateLayerPosition complexity (it is still O(n^2)
756         because of clippedOverflowRectForRepaint). However it is a noticeable slowdown on some use cases but we don't
757         have a good test harness to cover such slowdown.
758
759         * rendering/RenderLayer.cpp:
760         (WebCore::RenderLayer::updateLayerPositions): Pass offsetFromRoot as not doing so means that we miss
761         the optimization altogether.
762
763         (WebCore::RenderLayer::computeRepaintRects):
764         (WebCore::RenderLayer::updateLayerPositionsAfterScroll):
765         * rendering/RenderLayer.h:
766         Renamed |cachedOffset| to |offsetFromRoot| to be consistent with our latest renaming.
767
768 2011-09-07  Ryosuke Niwa  <rniwa@webkit.org>
769
770         Windows build fix after r94737.
771
772         * rendering/RenderBlock.cpp:
773         (WebCore::RenderBlock::adjustRectForColumns):
774
775 2011-09-07  Dan Bernstein  <mitz@apple.com>
776
777         Removed hyphenation function implementations for an usupported build configuration.
778
779         Reviewed by Sam Weinig.
780
781         * platform/text/cf/HyphenationCF.cpp:
782
783 2011-09-07  David Hyatt  <hyatt@apple.com>
784
785         https://bugs.webkit.org/show_bug.cgi?id=67739
786
787         adjustRectForColumns is O(# of columns) when it can be O(1). Fix the slow performance of this
788         function by removing the loop and just computing the start and end column for a repaint rect
789         and uniting everything in between.
790
791         Reviewed by Dan Bernstein.
792
793         * rendering/RenderBlock.cpp:
794         (WebCore::RenderBlock::adjustRectForColumns):
795
796 2011-09-07  Sheriff Bot  <webkit.review.bot@gmail.com>
797
798         Unreviewed, rolling out r94714 and r94723.
799         http://trac.webkit.org/changeset/94714
800         http://trac.webkit.org/changeset/94723
801         https://bugs.webkit.org/show_bug.cgi?id=67746
802
803         breaks gtk-linux tests with assertion failure (Requested by
804         thorton on #webkit).
805
806         * platform/graphics/GraphicsContext.cpp:
807         (WebCore::GraphicsContext::GraphicsContext):
808         (WebCore::GraphicsContext::~GraphicsContext):
809         * platform/graphics/GraphicsContext.h:
810         (WebCore::GraphicsContext::inTransparencyLayer):
811         * platform/graphics/cairo/GraphicsContextCairo.cpp:
812         (WebCore::GraphicsContext::beginTransparencyLayer):
813         (WebCore::GraphicsContext::endTransparencyLayer):
814         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
815         (WebCore::GraphicsContextPlatformPrivate::beginTransparencyLayer):
816         (WebCore::GraphicsContextPlatformPrivate::endTransparencyLayer):
817         * platform/graphics/cg/GraphicsContextCG.cpp:
818         (WebCore::GraphicsContext::beginTransparencyLayer):
819         (WebCore::GraphicsContext::endTransparencyLayer):
820         * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
821         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
822         (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
823         (WebCore::GraphicsContextPlatformPrivate::beginTransparencyLayer):
824         (WebCore::GraphicsContextPlatformPrivate::endTransparencyLayer):
825         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
826         (WebCore::GraphicsContext::beginTransparencyLayer):
827         (WebCore::GraphicsContext::endTransparencyLayer):
828         * platform/graphics/mac/FontMac.mm:
829         (WebCore::Font::drawGlyphs):
830         * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
831         (WebCore::GraphicsContext::beginTransparencyLayer):
832         (WebCore::GraphicsContext::endTransparencyLayer):
833         * platform/graphics/qt/GraphicsContextQt.cpp:
834         (WebCore::GraphicsContext::inTransparencyLayer):
835         (WebCore::GraphicsContext::beginTransparencyLayer):
836         (WebCore::GraphicsContext::endTransparencyLayer):
837         * platform/graphics/skia/GraphicsContextSkia.cpp:
838         (WebCore::GraphicsContext::beginTransparencyLayer):
839         (WebCore::GraphicsContext::endTransparencyLayer):
840         * platform/graphics/win/FontCGWin.cpp:
841         (WebCore::drawGDIGlyphs):
842         * platform/graphics/win/GraphicsContextCGWin.cpp:
843         (WebCore::GraphicsContext::releaseWindowsContext):
844         * platform/graphics/win/GraphicsContextCairoWin.cpp:
845         (WebCore::GraphicsContext::releaseWindowsContext):
846         * platform/graphics/win/GraphicsContextWin.cpp:
847         (WebCore::GraphicsContext::inTransparencyLayer):
848         (WebCore::GraphicsContext::getWindowsContext):
849         * platform/graphics/wince/GraphicsContextWinCE.cpp:
850         (WebCore::GraphicsContext::beginTransparencyLayer):
851         (WebCore::GraphicsContext::endTransparencyLayer):
852         * platform/graphics/wx/GraphicsContextWx.cpp:
853         (WebCore::GraphicsContext::beginTransparencyLayer):
854         (WebCore::GraphicsContext::endTransparencyLayer):
855         * platform/win/ScrollbarThemeWin.cpp:
856         (WebCore::ScrollbarThemeWin::paintTrackPiece):
857         (WebCore::ScrollbarThemeWin::paintButton):
858         (WebCore::ScrollbarThemeWin::paintThumb):
859         * plugins/win/PluginViewWin.cpp:
860         (WebCore::PluginView::paint):
861         * rendering/RenderThemeWin.cpp:
862         (WebCore::drawControl):
863
864 2011-09-07  Chris Fleizach  <cfleizach@apple.com>
865
866         Changes to aria-hidden don't change VO navigation
867         https://bugs.webkit.org/show_bug.cgi?id=67722
868
869         Reviewed by Darin Adler.
870
871         When altering aria-hidden, WebCore needs to update the children caches of 
872         affected elements. However, for elements that were children, but ignored, their
873         caches did not get updated, and stale information would be propagated.
874
875         The fix is to always clearChildren() when a parent is asking for children. This 
876         ensures information is always up to date when the parent itself is asking for new data.
877
878         Test: accessibility/aria-hidden-updates-alldescendants.html
879
880         * accessibility/AccessibilityObject.h:
881         * accessibility/AccessibilityRenderObject.cpp:
882         (WebCore::AccessibilityRenderObject::ariaIsHidden):
883         (WebCore::AccessibilityRenderObject::childrenChanged):
884         (WebCore::AccessibilityRenderObject::addChildren):
885
886 2011-09-07  Tim Horton  <timothy_horton@apple.com>
887
888         Text rendered with a simple (i.e. 0px blur) shadow inside a transparency layer has a double shadow
889         https://bugs.webkit.org/show_bug.cgi?id=67543
890         <rdar://problem/10070536>
891
892         Reviewed by Simon Fraser.
893
894         Generalize (begin|end)TransparencyLayer, which now forward
895         through to (begin|end)PlatformTransparencyLayer, so that
896         isInTransparencyLayer can exist on every platform.
897
898         Make use of isInTransparencyLayer in FontMac to disable
899         "simple" shadow drawing when the text is being rendered
900         into a transparency layer.
901
902         Test: svg/custom/simple-text-double-shadow.svg
903
904         * platform/graphics/GraphicsContext.cpp:
905         (WebCore::GraphicsContext::GraphicsContext):
906         (WebCore::GraphicsContext::~GraphicsContext):
907         (WebCore::GraphicsContext::beginTransparencyLayer):
908         (WebCore::GraphicsContext::endTransparencyLayer):
909         (WebCore::GraphicsContext::isInTransparencyLayer):
910         * platform/graphics/GraphicsContext.h:
911         * platform/graphics/cairo/GraphicsContextCairo.cpp:
912         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
913         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
914         (WebCore::GraphicsContext::supportsTransparencyLayers):
915         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
916         * platform/graphics/cg/GraphicsContextCG.cpp:
917         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
918         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
919         (WebCore::GraphicsContext::supportsTransparencyLayers):
920         * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
921         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
922         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
923         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
924         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
925         (WebCore::GraphicsContext::supportsTransparencyLayers):
926         * platform/graphics/mac/FontMac.mm:
927         (WebCore::Font::drawGlyphs):
928         * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
929         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
930         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
931         (WebCore::GraphicsContext::supportsTransparencyLayers):
932         * platform/graphics/qt/GraphicsContextQt.cpp:
933         (WebCore::GraphicsContext::isInTransparencyLayer):
934         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
935         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
936         (WebCore::GraphicsContext::supportsTransparencyLayers):
937         * platform/graphics/skia/GraphicsContextSkia.cpp:
938         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
939         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
940         (WebCore::GraphicsContext::supportsTransparencyLayers):
941         * platform/graphics/win/FontCGWin.cpp:
942         (WebCore::drawGDIGlyphs):
943         * platform/graphics/win/GraphicsContextCGWin.cpp:
944         (WebCore::GraphicsContext::releaseWindowsContext):
945         * platform/graphics/win/GraphicsContextCairoWin.cpp:
946         (WebCore::GraphicsContext::releaseWindowsContext):
947         * platform/graphics/win/GraphicsContextWin.cpp:
948         (WebCore::GraphicsContext::getWindowsContext):
949         * platform/graphics/wince/GraphicsContextWinCE.cpp:
950         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
951         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
952         (WebCore::GraphicsContext::supportsTransparencyLayers):
953         * platform/graphics/wx/GraphicsContextWx.cpp:
954         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
955         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
956         (WebCore::GraphicsContext::supportsTransparencyLayers):
957         * platform/win/ScrollbarThemeWin.cpp:
958         * plugins/win/PluginViewWin.cpp:
959         * rendering/RenderThemeWin.cpp:
960
961 2011-09-07  Dan Bernstein  <mitz@apple.com>
962
963         <rdar://problem/8881922> Support the hyphenate-limit-lines property
964         https://bugs.webkit.org/show_bug.cgi?id=67730
965
966         Reviewed by Dave Hyatt.
967
968         Tests: fast/css/parsing-hyphenate-limit-lines.html
969                fast/text/hyphenate-limit-lines.html
970
971         * css/CSSComputedStyleDeclaration.cpp:
972         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Added hyphenate-limit-lines.
973         * css/CSSParser.cpp:
974         (WebCore::CSSParser::parseValue): Ditto. Valid values are non-negative integers and the keyword
975         "no-limit".
976         * css/CSSPropertyNames.in: Added -webkit-hyphenate-limit-lines.
977         * css/CSSStyleSelector.cpp:
978         (WebCore::CSSStyleSelector::applyProperty): Added hyphenate-limit-lines.
979         * css/CSSValueKeywords.in: Added the "no-limit" value keyword.
980         * rendering/RenderBlock.h:
981         * rendering/RenderBlockLineLayout.cpp:
982         (WebCore::RenderBlock::layoutRunsAndFloats): Count the number of consecutive hyphenated lines
983         before the start line and pass it to layoutRunsAndFloatsInRange().
984         (WebCore::RenderBlock::layoutRunsAndFloatsInRange): Keep track of the number of consecutive
985         hyphenated lines before the current line and pass it to LineBreaker::nextLineBreak().
986         (WebCore::tryHyphenating): Added parameters for the number of consecutive hyphenated lines before
987         the current line and the limit on consecutive hyphenated lines, and an early return if the limit
988         has been reached.
989         (WebCore::RenderBlock::LineBreaker::nextLineBreak): Added a parameter for the number of consecutive
990         hyphenated lines before the current line, which is passed through to tryHyphenating, along with
991         the value of hyphenate-limit-lines.
992         * rendering/RootInlineBox.cpp:
993         (WebCore::RootInlineBox::isHyphenated): Added. Returns true if the line was hyphenated.
994         * rendering/RootInlineBox.h:
995         * rendering/style/RenderStyle.h:
996         (WebCore::InheritedFlags::hyphenationLimitLines): Added this getter.
997         (WebCore::InheritedFlags::setHyphenationLimitLines): Added this setter.
998         (WebCore::InheritedFlags::initialHyphenationLimitLines): Added. The initial value is -1,
999         corresponding to "no-limit".
1000         * rendering/style/StyleRareInheritedData.cpp:
1001         (WebCore::StyleRareInheritedData::StyleRareInheritedData): Initialize new member variable.
1002         (WebCore::StyleRareInheritedData::operator==): Compare new member variable.
1003         * rendering/style/StyleRareInheritedData.h:
1004
1005 2011-09-02  Ojan Vafai  <ojan@chromium.org>
1006
1007         split overrideSize into overrideHeight and overrideWidth
1008         https://bugs.webkit.org/show_bug.cgi?id=67550
1009
1010         Reviewed by Sam Weinig.
1011
1012         All uses of overrideSize only set one of the width or the height.
1013         This change removes a bool from RenderObject and removes some
1014         flexbox specific logic from RenderBox.
1015
1016         The only downside is that we have two global maps where we used
1017         to have one.
1018
1019         No functional changes so existing tests are sufficient.
1020
1021         * rendering/RenderBox.cpp:
1022         (WebCore::RenderBox::hasOverrideHeight):
1023         (WebCore::RenderBox::hasOverrideWidth):
1024         (WebCore::RenderBox::setOverrideHeight):
1025         (WebCore::RenderBox::setOverrideWidth):
1026         (WebCore::RenderBox::clearOverrideSize):
1027         (WebCore::RenderBox::overrideWidth):
1028         (WebCore::RenderBox::overrideHeight):
1029         (WebCore::RenderBox::computeLogicalWidth):
1030         (WebCore::RenderBox::computeLogicalHeight):
1031         (WebCore::RenderBox::computePercentageLogicalHeight):
1032         * rendering/RenderBox.h:
1033         * rendering/RenderDeprecatedFlexibleBox.cpp:
1034         (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
1035         (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
1036         (WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
1037         * rendering/RenderFlexibleBox.cpp:
1038         (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenHorizontal):
1039         * rendering/RenderObject.cpp:
1040         (WebCore::RenderObject::RenderObject):
1041         * rendering/RenderObject.h:
1042         * rendering/RenderTableCell.cpp:
1043         (WebCore::RenderTableCell::setOverrideHeightFromRowHeight):
1044         * rendering/RenderTableCell.h:
1045         * rendering/RenderTableSection.cpp:
1046         (WebCore::RenderTableSection::calcRowLogicalHeight):
1047         (WebCore::RenderTableSection::layoutRows):
1048
1049 2011-09-07  Alexei Svitkine  <asvitkine@chromium.org>
1050
1051         Add test infrastructure to test rubber-banding overhang drawing along with layout tests for existing Chromium Mac overhang drawing in the non-gpu path.
1052         https://bugs.webkit.org/show_bug.cgi?id=67511
1053
1054         Reviewed by Dimitri Glazkov.
1055
1056         Tests: platform/chromium-mac/rubberbanding/overhang-e.html
1057                platform/chromium-mac/rubberbanding/overhang-n.html
1058                platform/chromium-mac/rubberbanding/overhang-ne.html
1059                platform/chromium-mac/rubberbanding/overhang-nw.html
1060                platform/chromium-mac/rubberbanding/overhang-s.html
1061                platform/chromium-mac/rubberbanding/overhang-se.html
1062                platform/chromium-mac/rubberbanding/overhang-sw.html
1063                platform/chromium-mac/rubberbanding/overhang-w.html
1064
1065         * WebCore.exp.in:
1066         * platform/ScrollableArea.h:
1067         * testing/Internals.cpp:
1068         (WebCore::Internals::setScrollViewPosition):
1069         * testing/Internals.h:
1070         * testing/Internals.idl:
1071
1072 2011-09-07  David Reveman  <reveman@chromium.org>
1073
1074         [Chromium] Render surface anti-aliasing.
1075         https://bugs.webkit.org/show_bug.cgi?id=66437
1076
1077         Reviewed by James Robinson.
1078
1079         Add CCLayerQuad class and CCLayerQuad::Edge subclass to allow
1080         edge computations to be shared between tiled layers and render
1081         surfaces. Move isCCW utility function to FloatQuad class and
1082         add to2dTransform method to TransformationMatrix class. Add
1083         necessary anti-aliasing shaders for render surfaces and use them
1084         to avoid aliased edges.
1085
1086         Tests: compositing/reflections/nested-reflection-transformed.html (existing)
1087
1088         * WebCore.gypi:
1089         * platform/graphics/FloatQuad.cpp:
1090         (WebCore::FloatQuad::isCounterclockwise):
1091         * platform/graphics/FloatQuad.h:
1092         * platform/graphics/chromium/LayerChromium.cpp:
1093         (WebCore::LayerChromium::drawTexturedQuad):
1094         * platform/graphics/chromium/LayerChromium.h:
1095         * platform/graphics/chromium/LayerRendererChromium.cpp:
1096         (WebCore::LayerRendererChromium::LayerRendererChromium):
1097         (WebCore::LayerRendererChromium::headsUpDisplayProgram):
1098         (WebCore::LayerRendererChromium::renderSurfaceProgram):
1099         (WebCore::LayerRendererChromium::renderSurfaceProgramAA):
1100         (WebCore::LayerRendererChromium::renderSurfaceMaskProgram):
1101         (WebCore::LayerRendererChromium::renderSurfaceMaskProgramAA):
1102         (WebCore::LayerRendererChromium::tilerProgramSwizzle):
1103         (WebCore::LayerRendererChromium::canvasLayerProgram):
1104         (WebCore::LayerRendererChromium::pluginLayerProgram):
1105         (WebCore::LayerRendererChromium::videoLayerRGBAProgram):
1106         (WebCore::LayerRendererChromium::videoLayerYUVProgram):
1107         (WebCore::LayerRendererChromium::cleanupSharedObjects):
1108         * platform/graphics/chromium/LayerRendererChromium.h:
1109         (WebCore::LayerRendererChromium::sharedGeometryQuad):
1110         * platform/graphics/chromium/ShaderChromium.cpp:
1111         (WebCore::VertexShaderQuad::VertexShaderQuad):
1112         (WebCore::VertexShaderQuad::init):
1113         (WebCore::VertexShaderQuad::getShaderString):
1114         (WebCore::FragmentShaderRGBATexAlphaAA::FragmentShaderRGBATexAlphaAA):
1115         (WebCore::FragmentShaderRGBATexAlphaAA::init):
1116         (WebCore::FragmentShaderRGBATexAlphaAA::getShaderString):
1117         (WebCore::FragmentTexClampAlphaAABinding::FragmentTexClampAlphaAABinding):
1118         (WebCore::FragmentTexClampAlphaAABinding::init):
1119         (WebCore::FragmentShaderRGBATexClampAlphaAA::getShaderString):
1120         (WebCore::FragmentShaderRGBATexClampSwizzleAlphaAA::getShaderString):
1121         (WebCore::FragmentShaderRGBATexAlphaMaskAA::FragmentShaderRGBATexAlphaMaskAA):
1122         (WebCore::FragmentShaderRGBATexAlphaMaskAA::init):
1123         (WebCore::FragmentShaderRGBATexAlphaMaskAA::getShaderString):
1124         * platform/graphics/chromium/ShaderChromium.h:
1125         (WebCore::VertexShaderQuad::matrixLocation):
1126         (WebCore::VertexShaderQuad::pointLocation):
1127         (WebCore::FragmentShaderRGBATexAlphaAA::alphaLocation):
1128         (WebCore::FragmentShaderRGBATexAlphaAA::samplerLocation):
1129         (WebCore::FragmentShaderRGBATexAlphaAA::edgeLocation):
1130         (WebCore::FragmentShaderRGBATexAlphaMaskAA::alphaLocation):
1131         (WebCore::FragmentShaderRGBATexAlphaMaskAA::samplerLocation):
1132         (WebCore::FragmentShaderRGBATexAlphaMaskAA::maskSamplerLocation):
1133         (WebCore::FragmentShaderRGBATexAlphaMaskAA::edgeLocation):
1134         * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
1135         (WebCore::CCCanvasLayerImpl::draw):
1136         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
1137         (WebCore::CCHeadsUpDisplay::draw):
1138         * platform/graphics/chromium/cc/CCLayerQuad.cpp: Added.
1139         (WebCore::CCLayerQuad::Edge::Edge):
1140         (WebCore::CCLayerQuad::CCLayerQuad):
1141         (WebCore::CCLayerQuad::floatQuad):
1142         (WebCore::CCLayerQuad::toFloatArray):
1143         * platform/graphics/chromium/cc/CCLayerQuad.h: Added.
1144         (WebCore::CCLayerQuad::Edge::Edge):
1145         (WebCore::CCLayerQuad::Edge::x):
1146         (WebCore::CCLayerQuad::Edge::y):
1147         (WebCore::CCLayerQuad::Edge::z):
1148         (WebCore::CCLayerQuad::Edge::setX):
1149         (WebCore::CCLayerQuad::Edge::setY):
1150         (WebCore::CCLayerQuad::Edge::setZ):
1151         (WebCore::CCLayerQuad::Edge::set):
1152         (WebCore::CCLayerQuad::Edge::moveX):
1153         (WebCore::CCLayerQuad::Edge::moveY):
1154         (WebCore::CCLayerQuad::Edge::moveZ):
1155         (WebCore::CCLayerQuad::Edge::move):
1156         (WebCore::CCLayerQuad::Edge::scaleX):
1157         (WebCore::CCLayerQuad::Edge::scaleY):
1158         (WebCore::CCLayerQuad::Edge::scaleZ):
1159         (WebCore::CCLayerQuad::Edge::scale):
1160         (WebCore::CCLayerQuad::Edge::intersect):
1161         (WebCore::CCLayerQuad::CCLayerQuad):
1162         (WebCore::CCLayerQuad::left):
1163         (WebCore::CCLayerQuad::top):
1164         (WebCore::CCLayerQuad::right):
1165         (WebCore::CCLayerQuad::bottom):
1166         (WebCore::CCLayerQuad::inflateX):
1167         (WebCore::CCLayerQuad::inflateY):
1168         (WebCore::CCLayerQuad::inflate):
1169         (WebCore::CCLayerQuad::inflateAntiAliasingDistance):
1170         * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
1171         (WebCore::CCPluginLayerImpl::draw):
1172         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
1173         (WebCore::CCRenderSurface::draw):
1174         (WebCore::CCRenderSurface::drawLayer):
1175         (WebCore::CCRenderSurface::drawSurface):
1176         * platform/graphics/chromium/cc/CCRenderSurface.h:
1177         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
1178         (WebCore::CCTiledLayerImpl::draw):
1179         (WebCore::CCTiledLayerImpl::drawTiles):
1180         * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
1181         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
1182         (WebCore::CCVideoLayerImpl::drawYUV):
1183         (WebCore::CCVideoLayerImpl::drawRGBA):
1184         * platform/graphics/transforms/TransformationMatrix.cpp:
1185         (WebCore::TransformationMatrix::to2dTransform):
1186         * platform/graphics/transforms/TransformationMatrix.h:
1187
1188 2011-09-06  Oliver Hunt  <oliver@apple.com>
1189
1190         Remove JSObjectWithGlobalObject
1191         https://bugs.webkit.org/show_bug.cgi?id=67689
1192
1193         Reviewed by Geoff Garen.
1194
1195         Remove use of anonymous storage and JSObjectWithGlobalObject for
1196         accessing a JSObject's global object now that they're available
1197         on the object's structure.
1198
1199         * bindings/js/JSDOMWindowShell.cpp:
1200         (WebCore::JSDOMWindowShell::setWindow):
1201         * bindings/js/JSDOMWrapper.h:
1202         (WebCore::JSDOMWrapper::globalObject):
1203         (WebCore::JSDOMWrapper::JSDOMWrapper):
1204         * bindings/js/WorkerScriptController.cpp:
1205         (WebCore::WorkerScriptController::initScript):
1206         * bindings/scripts/CodeGeneratorJS.pm:
1207         (GenerateHeader):
1208         (GenerateImplementation):
1209         * bridge/objc/objc_runtime.h:
1210         * bridge/objc/objc_runtime.mm:
1211         (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
1212         (JSC::Bindings::ObjcFallbackObjectImp::finishCreation):
1213         * bridge/runtime_object.cpp:
1214         (JSC::Bindings::RuntimeObject::RuntimeObject):
1215         (JSC::Bindings::RuntimeObject::finishCreation):
1216         * bridge/runtime_object.h:
1217
1218 2011-09-07  Ryosuke Niwa  <rniwa@webkit.org>
1219
1220         Mac build fix after r94694.
1221
1222         * WebCore.xcodeproj/project.pbxproj:
1223
1224 2011-09-07  Tim Horton  <timothy_horton@apple.com>
1225
1226         FELighting is using width instead of height to determine skip for parallel(n>2) case
1227         https://bugs.webkit.org/show_bug.cgi?id=67719
1228         <rdar://problem/10086178>
1229
1230         Reviewed by Dirk Schulze.
1231
1232         No new tests, because the bug only exhibits under conditions which are currently
1233         impossible by default (using more than 2 cores) on some platforms.
1234
1235         * platform/graphics/filters/FELighting.cpp:
1236         (WebCore::FELighting::platformApplyGeneric):
1237
1238 2011-09-07  W. James MacLean  <wjmaclean@chromium.org>
1239
1240         Eliminate motion jitter in animated, blurred SVG image
1241         https://bugs.webkit.org/show_bug.cgi?id=67503
1242
1243         Fixes filter shear-free transform applied to SVG images.
1244
1245         In applyResource() the shearFreeAbsoluteTransform is applied to the drawing region,
1246         which is based on the object bounding box (which doesn't move). For a rotation
1247         around the centre of the box, this should really just be the identity matrix,
1248         since the BB should neither change size nor location. So really, we're just interested
1249         in the scale change of the BB here, and not in moving it.
1250
1251         This impacts how slices are extracted, and affects the {x|y}Mid and {x|y}Max extractions
1252         for vertical and horizontal slices, so the test verifies these.
1253
1254         Reviewed by Dirk Schulze.
1255
1256         Test: svg/W3C-SVG-1.1-SE/filters-image-05-f.svg
1257
1258         * rendering/svg/RenderSVGResourceFilter.cpp:
1259         (WebCore::RenderSVGResourceFilter::applyResource):
1260
1261 2011-09-03  Robert Hogan  <robert@webkit.org>
1262
1263         Elements with position:absolute don't move to correct position after images load
1264         https://bugs.webkit.org/show_bug.cgi?id=54611
1265
1266         Reviewed by Simon Fraser.
1267
1268         Test: fast/block/positioning/absolute-layout-after-image-load.html
1269               fast/block/positioning/positioned-float-layout-after-image-load.html
1270
1271         In the test the 'label' block is an absolutely positioned child of an inline flow. So during layout, 
1272         this RenderBlock::layoutPositionedObjects fails to dirty it for rendering because it requires 
1273         the parent to be a BlockFlow. The code to do this was introduced in http://trac.webkit.org/changeset/8284. 
1274         There doesn't seem to be a good reason for requiring a BlockFlow, so remove the check. Do the same
1275         for positioned floats in RenderBlock::positionedFloatsNeedRelayout(), although currently layoutPositionedObjects()
1276         takes care of it this at least ensures no regression in future.
1277
1278         Note: Although the issue is encountered only on first load without a fragment identifier, it 
1279         happens reliably when you include the fragment identifier in the url (#Footnote_1). This is so 
1280         because scrolling to the fragment always happens before the image has loaded, rendering the page 
1281         and clearing the initial dirty bits in the positioned element's renderer. When the image finally 
1282         loads in this scenario, the positioned element is otherwise clean and relies on the above code to get 
1283         re-rendered.
1284
1285         * rendering/RenderBlock.cpp:
1286         (WebCore::RenderBlock::layoutPositionedObjects): remove the check for r->parent()->isBlockFlow() when 
1287                                                          deciding whether to mark children for layout
1288         (WebCore::RenderBlock::positionedFloatsNeedRelayout): ditto
1289
1290 2011-09-07  Anna Cavender  <annacc@chromium.org>
1291
1292         Moving platform/track to html/track to avoid layering violation.
1293         https://bugs.webkit.org/show_bug.cgi?id=67680
1294
1295         Reviewed by Adam Barth.
1296
1297         No new tests. No new functionality.
1298
1299         * CMakeLists.txt:
1300         * GNUmakefile.am:
1301         * GNUmakefile.list.am:
1302         * WebCore.gyp/WebCore.gyp:
1303         * WebCore.gypi:
1304         * WebCore.pri:
1305         * WebCore.pro:
1306         * html/track/CueParser.cpp: Renamed from Source/WebCore/platform/track/CueParser.cpp.
1307         * html/track/CueParser.h: Renamed from Source/WebCore/platform/track/CueParser.h.
1308         * html/track/CueParserPrivate.h: Renamed from Source/WebCore/platform/track/CueParserPrivate.h.
1309         * html/track/WebVTTParser.cpp: Renamed from Source/WebCore/platform/track/WebVTTParser.cpp.
1310         * html/track/WebVTTParser.h: Renamed from Source/WebCore/platform/track/WebVTTParser.h.
1311         * html/track/WebVTTToken.h: Renamed from Source/WebCore/platform/track/WebVTTToken.h.
1312         * html/track/WebVTTTokenizer.cpp: Renamed from Source/WebCore/platform/track/WebVTTTokenizer.cpp.
1313         * html/track/WebVTTTokenizer.h: Renamed from Source/WebCore/platform/track/WebVTTTokenizer.h.
1314
1315 2011-09-07  David Hyatt  <hyatt@apple.com>
1316
1317         https://bugs.webkit.org/show_bug.cgi?id=67286
1318
1319         REGRESSION: css2.1/t090204-display-change-01-b-ao.html fails after r94084.
1320
1321         Make sure that the trailing floats line box explicitly sets the line top with leading and line bottom with
1322         leading to just be the block height.
1323
1324         Reviewed by Dan Bernstein.
1325
1326         * rendering/RenderBlockLineLayout.cpp:
1327         (WebCore::RenderBlock::linkToEndLineIfNeeded):
1328
1329 2011-09-06  Abhishek Arya  <inferno@chromium.org>
1330
1331         Null owningRenderer crash in RenderScrollbar::updateScrollbarParts.
1332         https://bugs.webkit.org/show_bug.cgi?id=67669
1333
1334         Reviewed by James Robinson.
1335
1336         Owning renderer can be cleared for custom scrollbars in clearOwningRenderer()
1337         call. We need a null check in updateScrollbarParts, so that we do not crash.
1338
1339         No tests since issue seen in crash reports only and I donot know a way to
1340         reproduce.
1341
1342         * rendering/RenderScrollbar.cpp:
1343         (WebCore::RenderScrollbar::updateScrollbarParts):
1344
1345 2011-09-05  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1346
1347         [Qt][WK2] Make TiledDrawingArea request tiles only in the direction the viewport is panned to.
1348         https://bugs.webkit.org/show_bug.cgi?id=67606
1349
1350         Reviewed by Noam Rosenthal.
1351
1352         TiledBackingStore previously used different values for horizontal and vertial multiplication
1353         to calculate the cover area.
1354         This patch replaces this mechanism, used to give a bigger panning range to vertical panning,
1355         with the possibility to use the motion vector of the viewport to request tiles ahead instead.
1356         This allows economies on rendering resources as tiles won't be rendered beside the trajectory
1357         of the viewport.
1358
1359         * platform/graphics/TiledBackingStore.cpp:
1360         (WebCore::TiledBackingStore::TiledBackingStore):
1361         (WebCore::TiledBackingStore::setKeepAndCoverAreaMultipliers):
1362         (WebCore::TiledBackingStore::setCoverAreaFocusVector):
1363         (WebCore::TiledBackingStore::createTiles):
1364         (WebCore::TiledBackingStore::calculateKeepRect):
1365         (WebCore::TiledBackingStore::calculateCoverRect):
1366         * platform/graphics/TiledBackingStore.h:
1367         (WebCore::TiledBackingStore::getKeepAndCoverAreaMultipliers):
1368
1369 2011-09-01  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1370
1371         [Qt] TiledBackingStore: Import the resizeEdgeTiles logic from TiledDrawindAreaProxy.
1372         https://bugs.webkit.org/show_bug.cgi?id=67416
1373
1374         Reviewed by Kenneth Rohde Christiansen.
1375
1376         Original code by Antti Koivisto.
1377         With the current code, when the page is layouted during load, edge tiles will
1378         get removed instead of continuing to show their front buffer while the tile
1379         is being rendered for the new size.
1380
1381         * platform/graphics/Tile.h:
1382         * platform/graphics/TiledBackingStore.cpp:
1383         (WebCore::TiledBackingStore::createTiles):
1384         (WebCore::TiledBackingStore::resizeEdgeTiles):
1385         * platform/graphics/TiledBackingStore.h:
1386         * platform/graphics/qt/TileQt.cpp:
1387         (WebCore::TileQt::resize):
1388         * platform/graphics/qt/TileQt.h:
1389
1390 2011-09-07  Tim Horton  <timothy_horton@apple.com>
1391
1392         Don't round-trip through TransformationMatrix in SVGImageBufferTools::clearAffineTransform2DRotation
1393         https://bugs.webkit.org/show_bug.cgi?id=67242
1394         <rdar://problem/10069770>
1395
1396         Reviewed by Dirk Schulze.
1397
1398         No new tests, minor performance improvement.
1399
1400         * platform/graphics/transforms/AffineTransform.cpp:
1401         (WebCore::AffineTransform::blend):
1402         (WebCore::AffineTransform::decompose):
1403         (WebCore::AffineTransform::recompose):
1404         * platform/graphics/transforms/AffineTransform.h:
1405         * rendering/svg/SVGImageBufferTools.cpp:
1406         (WebCore::SVGImageBufferTools::clear2DRotation):
1407
1408 2011-09-06  Pavel Podivilov  <podivilov@chromium.org>
1409
1410         Web Inspector: do not re-create RawSourceCode when toggling pretty-print mode.
1411         https://bugs.webkit.org/show_bug.cgi?id=67647
1412
1413         1) Implement RawSourceCode.setFormatted that allows toggling pretty-print mode on the fly without resetting everything.
1414         2) Add RawSourceCode unit tests.
1415         3) Remove source mapping listeners and console messages from presentation model (they live in RawSourceCode now).
1416
1417         Reviewed by Yury Semikhatsky.
1418
1419         Test: inspector/debugger/raw-source-code.html
1420
1421         * inspector/front-end/DebuggerPresentationModel.js:
1422         (WebInspector.DebuggerPresentationModel):
1423         (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation):
1424         (WebInspector.DebuggerPresentationModel.prototype._addScript):
1425         (WebInspector.DebuggerPresentationModel.prototype._sourceMappingUpdated):
1426         (WebInspector.DebuggerPresentationModel.prototype.setFormatSource):
1427         (WebInspector.DebuggerPresentationModel.prototype._createRawSourceCodeId):
1428         (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
1429         * inspector/front-end/ScriptsPanel.js:
1430         (WebInspector.ScriptsPanel.prototype._toggleFormatSource):
1431         * inspector/front-end/SourceFile.js:
1432         (WebInspector.RawSourceCode):
1433         (WebInspector.RawSourceCode.prototype.get uiSourceCode):
1434         (WebInspector.RawSourceCode.prototype.setFormatted):
1435         (WebInspector.RawSourceCode.prototype.rawLocationToUILocation):
1436         (WebInspector.RawSourceCode.prototype._saveSourceMapping):
1437
1438 2011-09-07  Alexander Pavlov  <apavlov@chromium.org>
1439
1440         Web Inspector: Implement circular tabbing through the Styles sidebar pane contents
1441         https://bugs.webkit.org/show_bug.cgi?id=67127
1442
1443         Reviewed by Yury Semikhatsky.
1444
1445         * inspector/front-end/Section.js:
1446         (WebInspector.Section.prototype.get firstSibling):
1447         (WebInspector.Section.prototype.get lastSibling):
1448         * inspector/front-end/StylesSidebarPane.js:
1449         (WebInspector.StylePropertiesSection.prototype.nextEditableSibling):
1450         (WebInspector.StylePropertiesSection.prototype.previousEditableSibling):
1451         (WebInspector.StylePropertiesSection.prototype.startEditingSelector):
1452         (WebInspector.StylePropertiesSection.prototype._moveEditorFromSelector):
1453         (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted.successCallback):
1454         (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
1455         (WebInspector.StylePropertyTreeElement.prototype):
1456         (WebInspector.StylePropertyTreeElement.prototype.element.userInput.previousContent.context.moveDirection):
1457
1458 2011-09-02  Andrey Kosyakov  <caseq@chromium.org>
1459
1460         Web Inspector: [Extensions API] expose console API
1461         https://bugs.webkit.org/show_bug.cgi?id=67506
1462
1463         Reviewed by Pavel Feldman.
1464
1465         Test: inspector/extensions/extensions-console.html
1466
1467         * inspector/front-end/ConsoleMessage.js:
1468         (WebInspector.ConsoleMessage.prototype.get text):
1469         (WebInspector.ConsoleMessage.prototype.get parameters):
1470         * inspector/front-end/ExtensionAPI.js:
1471         (WebInspector.injectedExtensionAPI.InspectorExtensionAPI):
1472         (WebInspector.injectedExtensionAPI):
1473         (WebInspector.injectedExtensionAPI.Console.prototype.getMessages):
1474         (WebInspector.injectedExtensionAPI.Console.prototype.addMessage):
1475         (WebInspector.injectedExtensionAPI.Console.prototype.get MessageLevel):
1476         (WebInspector.injectedExtensionAPI.Network.dispatchRequestEvent):
1477         (WebInspector.injectedExtensionAPI.Network):
1478         (WebInspector.injectedExtensionAPI.AuditCategoryImpl.dispatchAuditEvent):
1479         (WebInspector.injectedExtensionAPI.AuditCategoryImpl):
1480         (WebInspector.injectedExtensionAPI.InspectedWindow.dispatchResourceEvent):
1481         (WebInspector.injectedExtensionAPI.InspectedWindow.dispatchResourceContentEvent):
1482         (WebInspector.injectedExtensionAPI.InspectedWindow):
1483         * inspector/front-end/ExtensionCommon.js:
1484         (WebInspector.commonExtensionSymbols):
1485         * inspector/front-end/ExtensionServer.js:
1486         (WebInspector.ExtensionServer):
1487         (WebInspector.ExtensionServer.prototype._notifyConsoleMessageAdded):
1488         (WebInspector.ExtensionServer.prototype._onGetConsoleMessages):
1489         (WebInspector.ExtensionServer.prototype._onAddConsoleMessage):
1490         (WebInspector.ExtensionServer.prototype._makeConsoleMessage):
1491         (WebInspector.ExtensionServer.prototype._makeConsoleMessage.convertParameter):
1492         (WebInspector.ExtensionServer.prototype._dispatchCallback):
1493         (WebInspector.ExtensionServer.prototype.initExtensions):
1494
1495 2011-09-05  Andrey Kosyakov  <caseq@chromium.org>
1496
1497         Web Inspector: disable popover when a mouse button is pressed
1498         https://bugs.webkit.org/show_bug.cgi?id=67610
1499
1500         Reviewed by Pavel Feldman.
1501
1502         - disable popover when a mouse button is pressed
1503         - disable popover in a SourceFrame when the source is being edited
1504
1505         * inspector/front-end/Popover.js:
1506         (WebInspector.PopoverHelper):
1507         (WebInspector.PopoverHelper.prototype._mouseUp):
1508         (WebInspector.PopoverHelper.prototype._mouseDown):
1509         (WebInspector.PopoverHelper.prototype._handleMouseAction):
1510         * inspector/front-end/SourceFrame.js:
1511         (WebInspector.SourceFrame.prototype._onHidePopover):
1512         (WebInspector.SourceFrame.prototype.doubleClick):
1513
1514 2011-09-07  Antti Koivisto  <antti@apple.com>
1515
1516         https://bugs.webkit.org/show_bug.cgi?id=67634
1517         De-virtualize styleForRenderer()
1518
1519         Reviewed by Sam Weinig.
1520         
1521         This has performance and code clarity benefits.
1522
1523         - move styleForRenderer from Node to Element
1524         - get rid of the now unnecessary NodeRenderingContext parameter
1525         - de-virtualize, add virtual customStyleForRenderer()
1526
1527         * dom/Element.cpp:
1528         (WebCore::Element::customStyleForRenderer):
1529         (WebCore::Element::styleForRenderer):
1530         (WebCore::Element::recalcStyle):
1531         * dom/Element.h:
1532         * dom/Node.cpp:
1533         * dom/Node.h:
1534         (WebCore::Node::hasCustomWillOrDidRecalcStyle):
1535         (WebCore::Node::setHasCustomWillOrDidRecalcStyle):
1536         (WebCore::Node::hasCustomStyleForRenderer):
1537         (WebCore::Node::setHasCustomStyleForRenderer):
1538         
1539             Move styleForRenderer, add customStyleForRenderer, add a bit.
1540         
1541         * dom/NodeRenderingContext.cpp:
1542         (WebCore::NodeRendererFactory::createRendererAndStyle): 
1543         
1544             Handle non-element case separately since styleForRenderer was moved from Node to Element.
1545
1546         * html/HTMLNoScriptElement.cpp:
1547         (WebCore::HTMLNoScriptElement::HTMLNoScriptElement):
1548         (WebCore::HTMLNoScriptElement::customStyleForRenderer):
1549         * html/HTMLNoScriptElement.h:
1550         
1551             Move a strange XHTMLMP special case to where it belongs.
1552
1553         * html/HTMLOptGroupElement.cpp:
1554         (WebCore::HTMLOptGroupElement::attach):
1555         * html/HTMLOptionElement.cpp:
1556         (WebCore::HTMLOptionElement::attach):
1557         * html/HTMLTitleElement.cpp:
1558         (WebCore::HTMLTitleElement::textWithDirection):
1559         * html/shadow/TextControlInnerElements.cpp:
1560         (WebCore::TextControlInnerElement::TextControlInnerElement):
1561         (WebCore::TextControlInnerElement::customStyleForRenderer):
1562         (WebCore::TextControlInnerTextElement::TextControlInnerTextElement):
1563         (WebCore::TextControlInnerTextElement::customStyleForRenderer):
1564         * html/shadow/TextControlInnerElements.h:
1565         * rendering/svg/SVGShadowTreeElements.cpp:
1566         (WebCore::SVGShadowTreeContainerElement::customStyleForRenderer):
1567         * rendering/svg/SVGShadowTreeElements.h:
1568         * svg/SVGElement.cpp:
1569         (WebCore::SVGElement::SVGElement):
1570         (WebCore::SVGElement::customStyleForRenderer):
1571         * svg/SVGElement.h:
1572         
1573             Adopt customStyleForRenderer().
1574
1575 2011-09-07  Ryosuke Niwa  <rniwa@webkit.org>
1576
1577         Change event is not fired for input[type=number] when the user reverts a change made by script
1578         https://bugs.webkit.org/show_bug.cgi?id=67697
1579
1580         Reviewed by Kent Tamura.
1581
1582         The bug was caused by HTMLInputElement::setValue not calling setTextAsOfLastFormControlChangeEvent
1583         for text fields other than type=text.
1584
1585         Also fixed a that stepUpFromRenderer does not call setTextAsOfLastFormControlChangeEvent at appropriate
1586         timing due to setValueAsNumber always passing sendChangeEvent=false to setValue by propagating values
1587         through setValueAsNumber and applyStep. This refactoring allows us to remove calls to dispatch* in
1588         stepUpFromRenderer because they're now called in setValueAsNumber or applyStep.
1589
1590         Test: fast/forms/number-input-changeevent.html
1591
1592         * html/BaseDateAndTimeInputType.cpp:
1593         (WebCore::BaseDateAndTimeInputType::setValueAsNumber):
1594         * html/BaseDateAndTimeInputType.h:
1595         * html/HTMLInputElement.cpp:
1596         (WebCore::HTMLInputElement::applyStep):
1597         (WebCore::HTMLInputElement::stepUp):
1598         (WebCore::HTMLInputElement::stepDown):
1599         (WebCore::HTMLInputElement::setValue):
1600         (WebCore::HTMLInputElement::setValueAsNumber):
1601         (WebCore::HTMLInputElement::stepUpFromRenderer):
1602         * html/HTMLInputElement.h:
1603         * html/InputType.cpp:
1604         (WebCore::InputType::setValueAsNumber):
1605         * html/InputType.h:
1606         * html/NumberInputType.cpp:
1607         (WebCore::NumberInputType::setValueAsNumber):
1608         * html/NumberInputType.h:
1609         * html/RangeInputType.cpp:
1610         (WebCore::RangeInputType::setValueAsNumber):
1611         (WebCore::RangeInputType::handleKeydownEvent):
1612         * html/RangeInputType.h:
1613
1614 2011-09-07  Antti Koivisto  <antti@apple.com>
1615
1616         Try to fix Qt build by moving the Qt specific include (which is not really allowed here!).
1617
1618         Not reviewed.
1619
1620         * css/CSSStyleSelector.cpp:
1621         * css/SelectorChecker.cpp:
1622         (WebCore::SelectorChecker::determineLinkStateSlowCase):
1623
1624 2011-09-07  Antti Koivisto  <antti@apple.com>
1625
1626         Move SelectorChecker out from CSSStyleSelector scope
1627         https://bugs.webkit.org/show_bug.cgi?id=67648
1628
1629         Reviewed by Sam Weinig.
1630
1631         - Move SelectorChecker to SelectorChecker.h/cpp
1632         - Make private functions private
1633         - Make members private, add accessors
1634         - Move m_sameOriginOnly to CSSStyleSelector as it is not used by SelectorChecker
1635
1636         * CMakeLists.txt:
1637         * GNUmakefile.list.am:
1638         * WebCore.gypi:
1639         * WebCore.pro:
1640         * WebCore.vcproj/WebCore.vcproj:
1641         * WebCore.xcodeproj/project.pbxproj:
1642         * css/CSSStyleSelector.cpp:
1643         (WebCore::CSSStyleSelector::CSSStyleSelector):
1644         (WebCore::CSSStyleSelector::matchRules):
1645         (WebCore::CSSStyleSelector::matchRulesForList):
1646         (WebCore::CSSStyleSelector::sortMatchedRules):
1647         (WebCore::CSSStyleSelector::initForStyleResolve):
1648         (WebCore::CSSStyleSelector::matchUARules):
1649         (WebCore::CSSStyleSelector::styleForElement):
1650         (WebCore::CSSStyleSelector::pseudoStyleForElement):
1651         (WebCore::CSSStyleSelector::styleForPage):
1652         (WebCore::CSSStyleSelector::adjustRenderStyle):
1653         (WebCore::CSSStyleSelector::pseudoStyleRulesForElement):
1654         (WebCore::CSSStyleSelector::checkSelector):
1655         (WebCore::RuleData::RuleData):
1656         (WebCore::CSSStyleSelector::applyProperty):
1657         (WebCore::CSSStyleSelector::checkForGenericFamilyChange):
1658         (WebCore::CSSStyleSelector::setFontSize):
1659         (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
1660         * css/CSSStyleSelector.h:
1661         (WebCore::CSSStyleSelector::style):
1662         (WebCore::CSSStyleSelector::parentStyle):
1663         (WebCore::CSSStyleSelector::rootElementStyle):
1664         (WebCore::CSSStyleSelector::element):
1665         (WebCore::CSSStyleSelector::fontDescription):
1666         (WebCore::CSSStyleSelector::parentFontDescription):
1667         (WebCore::CSSStyleSelector::setFontDescription):
1668         (WebCore::CSSStyleSelector::setZoom):
1669         (WebCore::CSSStyleSelector::setEffectiveZoom):
1670         (WebCore::CSSStyleSelector::setTextSizeAdjust):
1671         (WebCore::CSSStyleSelector::setStyle):
1672         (WebCore::CSSStyleSelector::fontSelector):
1673         (WebCore::CSSStyleSelector::allVisitedStateChanged):
1674         (WebCore::CSSStyleSelector::visitedStateChanged):
1675         (WebCore::CSSStyleSelector::usesSiblingRules):
1676         (WebCore::CSSStyleSelector::usesFirstLineRules):
1677         (WebCore::CSSStyleSelector::usesBeforeAfterRules):
1678         (WebCore::CSSStyleSelector::usesLinkRules):
1679         (WebCore::CSSStyleSelector::addMatchedRule):
1680         (WebCore::CSSStyleSelector::isRightPage):
1681         (WebCore::CSSStyleSelector::ParentStackFrame::ParentStackFrame):
1682         (WebCore::CSSStyleSelector::styleNotYetAvailable):
1683         * css/SelectorChecker.cpp: Added.
1684         (WebCore::SelectorChecker::SelectorChecker):
1685         (WebCore::linkAttribute):
1686         (WebCore::SelectorChecker::determineLinkStateSlowCase):
1687         (WebCore::SelectorChecker::checkSelector):
1688         (WebCore::SelectorChecker::fastCheckSelector):
1689         (WebCore::SelectorChecker::isFastCheckableSelector):
1690         (WebCore::addLocalNameToSet):
1691         (WebCore::createHtmlCaseInsensitiveAttributesSet):
1692         (WebCore::htmlAttributeHasCaseInsensitiveValue):
1693         (WebCore::attributeQualifiedNameMatches):
1694         (WebCore::attributeValueMatches):
1695         (WebCore::anyAttributeMatches):
1696         (WebCore::SelectorChecker::checkOneSelector):
1697         (WebCore::SelectorChecker::checkScrollbarPseudoClass):
1698         (WebCore::SelectorChecker::allVisitedStateChanged):
1699         (WebCore::SelectorChecker::visitedStateChanged):
1700         * css/SelectorChecker.h: Added.
1701         (WebCore::SelectorChecker::document):
1702         (WebCore::SelectorChecker::strictParsing):
1703         (WebCore::SelectorChecker::isCollectingRulesOnly):
1704         (WebCore::SelectorChecker::setCollectingRulesOnly):
1705         (WebCore::SelectorChecker::isMatchingVisitedPseudoClass):
1706         (WebCore::SelectorChecker::setMatchingVisitedPseudoClass):
1707         (WebCore::SelectorChecker::pseudoStyle):
1708         (WebCore::SelectorChecker::setPseudoStyle):
1709         (WebCore::SelectorChecker::hasUnknownPseudoElements):
1710         (WebCore::SelectorChecker::clearHasUnknownPseudoElements):
1711         (WebCore::SelectorChecker::determineLinkState):
1712         * dom/Element.cpp:
1713         (WebCore::Element::webkitMatchesSelector):
1714         * dom/SelectorQuery.cpp:
1715         (WebCore::SelectorQuery::SelectorQuery):
1716         * dom/SelectorQuery.h:
1717
1718 2011-09-07  Dmitry Lomov  <dslomov@google.com>
1719
1720         https://bugs.webkit.org/show_bug.cgi?id=67413 
1721         [Chromium]Web Inspector: inspected page with dedicated worker crashes on refresh.
1722         This patch enforces lifetime ordering between WorkerInspectorController and WorkerScriptController.
1723
1724         Reviewed by Yury Semikhatsky.
1725
1726         * workers/WorkerContext.cpp:
1727         (WebCore::WorkerContext::clearInspector):
1728         * workers/WorkerContext.h:
1729         * workers/WorkerThread.cpp:
1730         (WebCore::WorkerThreadShutdownFinishTask::performTask):
1731
1732 2011-09-07  Sheriff Bot  <webkit.review.bot@gmail.com>
1733
1734         Unreviewed, rolling out r94627 and r94632.
1735         http://trac.webkit.org/changeset/94627
1736         http://trac.webkit.org/changeset/94632
1737         https://bugs.webkit.org/show_bug.cgi?id=67698
1738
1739         It broke tests on GTK and Qt (Requested by Ossy on #webkit).
1740
1741         * WebCore.exp.in:
1742         * bindings/js/JSDOMBinding.h:
1743         (WebCore::DOMConstructorObject::DOMConstructorObject):
1744         * bindings/js/JSDOMGlobalObject.cpp:
1745         (WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
1746         * bindings/js/JSDOMGlobalObject.h:
1747         * bindings/js/JSDOMWindowShell.cpp:
1748         (WebCore::JSDOMWindowShell::create):
1749         * bindings/js/JSDOMWindowShell.h:
1750         * bindings/js/JSDOMWrapper.h:
1751         (WebCore::JSDOMWrapper::JSDOMWrapper):
1752         * bindings/scripts/CodeGeneratorJS.pm:
1753         (GenerateImplementation):
1754         * bindings/scripts/test/JS/JSTestInterface.cpp:
1755         (WebCore::JSTestInterface::JSTestInterface):
1756         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
1757         (WebCore::JSTestMediaQueryListListener::JSTestMediaQueryListListener):
1758         * bindings/scripts/test/JS/JSTestObj.cpp:
1759         (WebCore::JSTestObj::JSTestObj):
1760         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
1761         (WebCore::JSTestSerializedScriptValueInterface::JSTestSerializedScriptValueInterface):
1762         * bridge/c/CRuntimeObject.cpp:
1763         (JSC::Bindings::CRuntimeObject::CRuntimeObject):
1764         * bridge/c/CRuntimeObject.h:
1765         * bridge/jni/jsc/JavaRuntimeObject.cpp:
1766         (JSC::Bindings::JavaRuntimeObject::JavaRuntimeObject):
1767         * bridge/jni/jsc/JavaRuntimeObject.h:
1768         * bridge/objc/ObjCRuntimeObject.h:
1769         * bridge/objc/ObjCRuntimeObject.mm:
1770         (JSC::Bindings::ObjCRuntimeObject::ObjCRuntimeObject):
1771         * bridge/objc/objc_runtime.h:
1772         (JSC::Bindings::ObjcFallbackObjectImp::create):
1773         * bridge/objc/objc_runtime.mm:
1774         (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
1775         * bridge/qt/qt_instance.cpp:
1776         (JSC::Bindings::QtRuntimeObject::QtRuntimeObject):
1777         * bridge/qt/qt_pixmapruntime.cpp:
1778         (JSC::Bindings::QtPixmapRuntimeObject::QtPixmapRuntimeObject):
1779         * bridge/qt/qt_runtime.cpp:
1780         (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
1781         * bridge/qt/qt_runtime.h:
1782         * bridge/runtime_array.cpp:
1783         (JSC::RuntimeArray::RuntimeArray):
1784         * bridge/runtime_array.h:
1785         (JSC::RuntimeArray::create):
1786         * bridge/runtime_method.cpp:
1787         (JSC::RuntimeMethod::RuntimeMethod):
1788         * bridge/runtime_method.h:
1789         * bridge/runtime_object.cpp:
1790         (JSC::Bindings::RuntimeObject::RuntimeObject):
1791         * bridge/runtime_object.h:
1792         (JSC::Bindings::RuntimeObject::create):
1793
1794 2011-08-31  Yury Semikhatsky  <yurys@chromium.org>
1795
1796         fast/workers/worker-script-error.html fails on Chromium after r94061
1797         https://bugs.webkit.org/show_bug.cgi?id=67206
1798
1799         Default action should be prevented if window.onerror returned true and stay
1800         not prevented otherwise.
1801
1802         Reviewed by Dmitry Titov.
1803
1804         Tests: fast/events/window-onerror14.html
1805                fast/events/window-onerror15.html
1806                fast/events/window-onerror16.html
1807
1808         * bindings/v8/V8AbstractEventListener.cpp:
1809         (WebCore::V8AbstractEventListener::invokeEventHandler):
1810         (WebCore::V8AbstractEventListener::shouldPreventDefault): allow specific
1811         event listeners to decide when to prevent default action based on the handler
1812         return value.
1813         * bindings/v8/V8AbstractEventListener.h:
1814         * bindings/v8/V8WindowErrorHandler.cpp:
1815         (WebCore::V8WindowErrorHandler::callListenerFunction):
1816         (WebCore::V8WindowErrorHandler::shouldPreventDefault):
1817         * bindings/v8/V8WindowErrorHandler.h:
1818         * bindings/v8/V8WorkerContextErrorHandler.cpp:
1819         (WebCore::V8WorkerContextErrorHandler::callListenerFunction):
1820         (WebCore::V8WorkerContextErrorHandler::shouldPreventDefault):
1821         * bindings/v8/V8WorkerContextErrorHandler.h:
1822
1823 2011-09-06  Xianzhu Wang  <wangxianzhu@chromium.org>
1824
1825         Replace usages of Vector<UChar> with existing StringBuilder
1826         https://bugs.webkit.org/show_bug.cgi?id=67079
1827
1828         Reviewed by Gavin Barraclough.
1829
1830         No new tests. All existing unit tests and layout tests should run
1831         as before.
1832
1833         * css/CSSOMUtils.cpp:
1834         (WebCore::appendCharacter):
1835         (WebCore::serializeCharacter):
1836         (WebCore::serializeCharacterAsCodePoint):
1837         (WebCore::serializeIdentifier):
1838         (WebCore::serializeString):
1839         * css/CSSOMUtils.h:
1840         * css/CSSPrimitiveValue.cpp:
1841         (WebCore::CSSPrimitiveValue::cssText):
1842         * css/CSSStyleSelector.cpp:
1843         (WebCore::CSSStyleSelector::SelectorChecker::determineLinkStateSlowCase):
1844         * css/CSSWrapShapes.cpp:
1845         (WebCore::CSSWrapShapeRect::cssText):
1846         (WebCore::CSSWrapShapeCircle::cssText):
1847         (WebCore::CSSWrapShapeEllipse::cssText):
1848         (WebCore::CSSWrapShapePolygon::cssText):
1849         * editing/HTMLInterchange.cpp:
1850         (WebCore::convertHTMLTextToInterchangeFormat):
1851         * editing/MarkupAccumulator.cpp:
1852         (WebCore::appendCharactersReplacingEntities):
1853         (WebCore::MarkupAccumulator::serializeNodes):
1854         (WebCore::MarkupAccumulator::appendStartTag):
1855         (WebCore::MarkupAccumulator::appendEndTag):
1856         (WebCore::MarkupAccumulator::concatenateMarkup):
1857         (WebCore::MarkupAccumulator::appendAttributeValue):
1858         (WebCore::MarkupAccumulator::appendCustomAttributes):
1859         (WebCore::MarkupAccumulator::appendQuotedURLAttributeValue):
1860         (WebCore::MarkupAccumulator::appendNodeValue):
1861         (WebCore::MarkupAccumulator::appendNamespace):
1862         (WebCore::MarkupAccumulator::appendText):
1863         (WebCore::MarkupAccumulator::appendComment):
1864         (WebCore::MarkupAccumulator::appendDocumentType):
1865         (WebCore::MarkupAccumulator::appendProcessingInstruction):
1866         (WebCore::MarkupAccumulator::appendElement):
1867         (WebCore::MarkupAccumulator::appendOpenTag):
1868         (WebCore::MarkupAccumulator::appendCloseTag):
1869         (WebCore::MarkupAccumulator::appendAttribute):
1870         (WebCore::MarkupAccumulator::appendCDATASection):
1871         (WebCore::MarkupAccumulator::appendStartMarkup):
1872         (WebCore::MarkupAccumulator::appendEndMarkup):
1873         * editing/MarkupAccumulator.h:
1874         * editing/markup.cpp:
1875         (WebCore::StyledMarkupAccumulator::appendElement):
1876         (WebCore::StyledMarkupAccumulator::wrapWithNode):
1877         (WebCore::StyledMarkupAccumulator::wrapWithStyleNode):
1878         (WebCore::StyledMarkupAccumulator::appendStyleNodeOpenTag):
1879         (WebCore::StyledMarkupAccumulator::takeResults):
1880         (WebCore::StyledMarkupAccumulator::appendText):
1881         (WebCore::urlToMarkup):
1882         * html/DOMTokenList.cpp:
1883         (WebCore::DOMTokenList::removeToken):
1884         * html/HTMLFontElement.cpp:
1885         (WebCore::parseFontSize):
1886         * html/HTMLTextFormControlElement.cpp:
1887         (WebCore::HTMLTextFormControlElement::strippedPlaceholder):
1888         * html/parser/CSSPreloadScanner.cpp:
1889         (WebCore::CSSPreloadScanner::emitRule):
1890         * html/parser/CSSPreloadScanner.h:
1891         * html/parser/HTMLEntityParser.cpp:
1892         (WebCore::consumeHTMLEntity):
1893         * html/parser/HTMLEntityParser.h:
1894         * html/parser/HTMLParserIdioms.cpp:
1895         (WebCore::parseHTMLInteger):
1896         (WebCore::parseHTMLNonNegativeInteger):
1897         * html/parser/HTMLTokenizer.cpp:
1898         (WebCore::HTMLTokenizer::processEntity):
1899         (WebCore::HTMLTokenizer::nextToken):
1900         * html/parser/HTMLTreeBuilder.cpp:
1901         (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::giveRemainingTo):
1902         (WebCore::HTMLTreeBuilder::defaultForInTableText):
1903         * html/parser/HTMLTreeBuilder.h:
1904         * inspector/InspectorValues.cpp:
1905         (WebCore::InspectorValue::toJSONString):
1906         (WebCore::InspectorValue::writeJSON):
1907         (WebCore::InspectorBasicValue::writeJSON):
1908         (WebCore::InspectorString::writeJSON):
1909         (WebCore::InspectorObject::writeJSON):
1910         (WebCore::InspectorArray::writeJSON):
1911         * inspector/InspectorValues.h:
1912         * loader/CrossOriginAccessControl.cpp:
1913         (WebCore::createAccessControlPreflightRequest):
1914         * loader/appcache/ApplicationCacheStorage.cpp:
1915         (WebCore::ApplicationCacheStorage::store):
1916         * page/Chrome.cpp:
1917         (WebCore::Chrome::setToolTip):
1918         * page/PageSerializer.cpp:
1919         (WebCore::SerializerMarkupAccumulator::appendText):
1920         (WebCore::SerializerMarkupAccumulator::appendElement):
1921         (WebCore::SerializerMarkupAccumulator::appendCustomAttributes):
1922         * page/SecurityOrigin.cpp:
1923         (WebCore::SecurityOrigin::toString):
1924         * platform/KURL.cpp:
1925         (WebCore::KURL::deprecatedString):
1926         (WebCore::decodeURLEscapeSequences):
1927         * platform/LinkHash.cpp:
1928         (WebCore::squeezeOutNullCharacters):
1929         (WebCore::cleanSlashDotDotSlashes):
1930         (WebCore::mergeDoubleSlashes):
1931         (WebCore::cleanSlashDotSlashes):
1932         (WebCore::cleanPath):
1933         (WebCore::visitedURLInline):
1934         (WebCore::visitedURL):
1935         (WebCore::visitedLinkHash):
1936         * platform/LinkHash.h:
1937         * platform/gtk/DataObjectGtk.cpp:
1938         (WebCore::DataObjectGtk::setURL):
1939         * platform/network/HTTPParsers.cpp:
1940         (WebCore::extractMIMETypeFromMediaType):
1941         * platform/text/TextCodecICU.cpp:
1942         (WebCore::TextCodecICU::decode):
1943         * platform/text/TextStream.cpp:
1944         (WebCore::TextStream::operator<<):
1945         (WebCore::TextStream::release):
1946         * platform/text/TextStream.h:
1947         * plugins/PluginStream.cpp:
1948         (WebCore::PluginStream::startStream):
1949         * rendering/InlineTextBox.cpp:
1950         (WebCore::adjustCharactersAndLengthForHyphen):
1951         * rendering/InlineTextBox.h:
1952         (WebCore::BufferForAppendingHyphen::BufferForAppendingHyphen):
1953         * rendering/RenderListItem.cpp:
1954         (WebCore::RenderListItem::markerTextWithSuffix):
1955         * rendering/RenderListMarker.cpp:
1956         (WebCore::toSymbolic):
1957         (WebCore::RenderListMarker::paint):
1958         (WebCore::RenderListMarker::suffix):
1959         * rendering/RenderTreeAsText.cpp:
1960         (WebCore::quoteAndEscapeNonPrintables):
1961         * rendering/mathml/RenderMathMLFenced.cpp:
1962         (WebCore::RenderMathMLFenced::updateFromElement):
1963         * storage/IDBLevelDBCoding.cpp:
1964         (WebCore::IDBLevelDBCoding::decodeString):
1965         * xml/XMLHttpRequest.cpp:
1966         (WebCore::XMLHttpRequest::getAllResponseHeaders):
1967         * xml/XPathFunctions.cpp:
1968         (WebCore::XPath::FunId::evaluate):
1969         (WebCore::XPath::FunConcat::evaluate):
1970         * xml/XPathUtil.cpp:
1971         (WebCore::XPath::stringValue):
1972         * xml/XSLTProcessorLibxslt.cpp:
1973         (WebCore::writeToStringBuilder):
1974         (WebCore::saveResultToString):
1975         * xml/parser/CharacterReferenceParserInlineMethods.h:
1976         (WebCore::unconsumeCharacters):
1977         (WebCore::consumeCharacterReference):
1978         * xml/parser/XMLCharacterReferenceParser.cpp:
1979         (WebCore::consumeXMLCharacterReference):
1980         * xml/parser/XMLCharacterReferenceParser.h:
1981         * xml/parser/XMLTokenizer.cpp:
1982         (WebCore::XMLTokenizer::nextToken):
1983
1984 2011-09-05  Kent Tamura  <tkent@chromium.org>
1985
1986         REGRESSION (Safari 5.1 - ToT): File input retains its file icon when the value is reset
1987         https://bugs.webkit.org/show_bug.cgi?id=67567
1988
1989         Reviewed by Dimitri Glazkov.
1990
1991         - Introduce InputType::setValue(), which is called by HTMLInputElement::setValue().
1992         - Clear m_icon in FileInputType::setValue().
1993
1994         Tests: fast/forms/file/file-reset-in-change-expected.html
1995                fast/forms/file/file-reset-in-change.html
1996
1997         * html/BaseButtonInputType.cpp:
1998         (WebCore::BaseButtonInputType::setValue):
1999         Implemenation for the "default" mode.
2000         http://www.whatwg.org/specs/web-apps/current-work/multipage/common-input-element-attributes.html#dom-input-value-default
2001         * html/BaseButtonInputType.h:
2002         * html/BaseCheckableInputType.cpp:
2003         (WebCore::BaseCheckableInputType::setValue):
2004         Implemenation for the "default/on" mode.
2005         http://www.whatwg.org/specs/web-apps/current-work/multipage/common-input-element-attributes.html#dom-input-value-default-on
2006         * html/BaseCheckableInputType.h:
2007         * html/FileInputType.cpp:
2008         (WebCore::FileInputType::setValue):
2009         Implemenation for the "filename" mode, and clearing m_icon.
2010         http://www.whatwg.org/specs/web-apps/current-work/multipage/common-input-element-attributes.html#dom-input-value-filename
2011         * html/FileInputType.h:
2012         * html/HTMLInputElement.cpp:
2013         (WebCore::HTMLInputElement::setValue):
2014         Move some code to InputType::setValue().
2015         (WebCore::HTMLInputElement::setValueInternal): A helper for InputType::setValue().
2016         * html/HTMLInputElement.h:
2017         * html/HiddenInputType.cpp:
2018         (WebCore::HiddenInputType::setValue):
2019         Implementation for the "default" mode.
2020         * html/HiddenInputType.h:
2021         * html/InputType.cpp:
2022         (WebCore::InputType::setValue):
2023         Implementation for the "value" mode.
2024         http://www.whatwg.org/specs/web-apps/current-work/multipage/common-input-element-attributes.html#dom-input-value-value
2025         * html/InputType.h:
2026         * html/TextFieldInputType.cpp:
2027         (WebCore::TextFieldInputType::setValue):
2028         In addition to the "value" mode processing, updates placeholder visibililty.
2029         * html/TextFieldInputType.h:
2030
2031 2011-09-06  Ryosuke Niwa  <rniwa@webkit.org>
2032
2033         REGRESSION(r94274): The inner text value of an input element is not updated when input.value is set
2034         https://bugs.webkit.org/show_bug.cgi?id=67681
2035
2036         Reviewed by Kent Tamura.
2037
2038         The bug was caused by HTMLInputElement::setValue's not clearing m_suggestedValue before updateInnerTextValue is called.
2039         Since updateInnerTextValue uses the suggested value when one is present, we need to clear m_suggestedValue in advance.
2040
2041         Test: fast/forms/suggested-value-after-setvalue.html
2042
2043         * html/HTMLInputElement.cpp:
2044         (WebCore::HTMLInputElement::setValue):
2045
2046 2011-09-06  Adam Barth  <abarth@webkit.org>
2047
2048         Attempt to fix GTK build.
2049
2050         * bindings/gobject/WebKitHTMLElementWrapperFactory.cpp:
2051         (WebKit::createHTMLElementWrapper):
2052
2053 2011-09-06  Ryosuke Niwa  <rniwa@webkit.org>
2054
2055         fast/forms/suggested-value-crash.html crashes on Windows
2056         https://bugs.webkit.org/show_bug.cgi?id=67688
2057
2058         Reviewed by Adam Barth.
2059
2060         The crash was caused because functions in internals were accessing uninitialized QualifiedNames.
2061         Fixed the bug by avoiding to link to inputTag and textareaTag. Instead, we resort to toInputElement
2062         and string comparison.
2063
2064         * testing/Internals.cpp:
2065         (WebCore::Internals::wasLastChangeUserEdit):
2066         (WebCore::Internals::suggestedValue):
2067         (WebCore::Internals::setSuggestedValue):
2068
2069 2011-09-06  Mark Hahnenberg  <mhahnenberg@apple.com>
2070
2071         Unzip initialization lists and constructors in JSCell hierarchy (5/7)
2072         https://bugs.webkit.org/show_bug.cgi?id=67420
2073
2074         Reviewed by Geoffrey Garen.
2075
2076         No new tests.
2077
2078         Completed the fifth level of the refactoring to add finishCreation() 
2079         methods to all classes within the JSCell hierarchy with non-trivial 
2080         constructor bodies.
2081
2082         This primarily consists of pushing the calls to finishCreation() down 
2083         into the constructors of the subclasses of the second level of the hierarchy 
2084         as well as pulling the finishCreation() calls out into the class's corresponding
2085         create() method if it has one.  Doing both simultaneously allows us to 
2086         maintain the invariant that the finishCreation() method chain is called exactly 
2087         once during the creation of an object, since calling it any other number of 
2088         times (0, 2, or more) will cause an assertion failure.
2089
2090         * WebCore.exp.in:
2091         * bindings/js/JSDOMBinding.h:
2092         (WebCore::DOMConstructorObject::DOMConstructorObject):
2093         * bindings/js/JSDOMGlobalObject.cpp:
2094         (WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
2095         (WebCore::JSDOMGlobalObject::finishCreation):
2096         * bindings/js/JSDOMGlobalObject.h:
2097         * bindings/js/JSDOMWindowShell.cpp:
2098         * bindings/js/JSDOMWindowShell.h:
2099         (WebCore::JSDOMWindowShell::create):
2100         * bindings/js/JSDOMWrapper.h:
2101         (WebCore::JSDOMWrapper::JSDOMWrapper):
2102         * bindings/scripts/CodeGeneratorJS.pm:
2103         (GenerateImplementation):
2104         * bindings/scripts/test/JS/JSTestInterface.cpp:
2105         (WebCore::JSTestInterface::JSTestInterface):
2106         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
2107         (WebCore::JSTestMediaQueryListListener::JSTestMediaQueryListListener):
2108         * bindings/scripts/test/JS/JSTestObj.cpp:
2109         (WebCore::JSTestObj::JSTestObj):
2110         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
2111         (WebCore::JSTestSerializedScriptValueInterface::JSTestSerializedScriptValueInterface):
2112         * bridge/c/CRuntimeObject.cpp:
2113         (JSC::Bindings::CRuntimeObject::CRuntimeObject):
2114         (JSC::Bindings::CRuntimeObject::finishCreation):
2115         * bridge/c/CRuntimeObject.h:
2116         * bridge/jni/jsc/JavaRuntimeObject.cpp:
2117         (JSC::Bindings::JavaRuntimeObject::JavaRuntimeObject):
2118         (JSC::Bindings::JavaRuntimeObject::finishCreation):
2119         * bridge/jni/jsc/JavaRuntimeObject.h:
2120         * bridge/objc/ObjCRuntimeObject.h:
2121         * bridge/objc/ObjCRuntimeObject.mm:
2122         (JSC::Bindings::ObjCRuntimeObject::ObjCRuntimeObject):
2123         (JSC::Bindings::ObjCRuntimeObject::finishCreation):
2124         * bridge/objc/objc_runtime.h:
2125         (JSC::Bindings::ObjcFallbackObjectImp::create):
2126         * bridge/objc/objc_runtime.mm:
2127         (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
2128         * bridge/qt/qt_instance.cpp:
2129         (JSC::Bindings::QtRuntimeObject::QtRuntimeObject):
2130         * bridge/qt/qt_pixmapruntime.cpp:
2131         (JSC::Bindings::QtPixmapRuntimeObject::QtPixmapRuntimeObject):
2132         * bridge/qt/qt_runtime.cpp:
2133         (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
2134         (JSC::Bindings::QtRuntimeMethod::finishCreation):
2135         * bridge/qt/qt_runtime.h:
2136         * bridge/runtime_array.cpp:
2137         (JSC::RuntimeArray::RuntimeArray):
2138         * bridge/runtime_array.h:
2139         (JSC::RuntimeArray::create):
2140         * bridge/runtime_method.cpp:
2141         (JSC::RuntimeMethod::RuntimeMethod):
2142         (JSC::RuntimeMethod::finishCreation):
2143         * bridge/runtime_method.h:
2144         * bridge/runtime_object.cpp:
2145         (JSC::Bindings::RuntimeObject::RuntimeObject):
2146         * bridge/runtime_object.h:
2147         (JSC::Bindings::RuntimeObject::create):
2148
2149 2011-09-06  Luke Macpherson   <macpherson@chromium.org>
2150
2151         Implement list style properties in CSSStyleApplyProperty.
2152         https://bugs.webkit.org/show_bug.cgi?id=67103
2153
2154         Reviewed by Eric Seidel.
2155
2156         No new tests / no behavioral changes.
2157
2158         * css/CSSStyleApplyProperty.cpp:
2159         Add class to wrap call to CSSStyleSelector::styleImage().
2160         (WebCore::ApplyPropertyStyleImage::ApplyPropertyStyleImage):
2161         (WebCore::ApplyPropertyStyleImage::applyValue):
2162         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
2163         Initialize handlers for list style properties.
2164         * css/CSSStyleSelector.cpp:
2165         (WebCore::CSSStyleSelector::applyProperty):
2166         Remove existing property implementations.
2167
2168 2011-09-06  Alexis Menard  <alexis.menard@openbossa.org>
2169
2170         [Qt] Move away from QPointer as it is slow and it has a replacement QWeakPointer.
2171         https://bugs.webkit.org/show_bug.cgi?id=67673
2172
2173         Reviewed by Ariya Hidayat.
2174
2175         Move away from QPointer to QWeakPointer, it is faster.
2176
2177         No new tests, the existing ones should cover.
2178
2179         * bridge/qt/qt_instance.cpp:
2180         (JSC::Bindings::QtInstance::~QtInstance):
2181         (JSC::Bindings::QtInstance::getClass):
2182         (JSC::Bindings::QtField::name):
2183         (JSC::Bindings::QtField::valueFromInstance):
2184         * bridge/qt/qt_instance.h:
2185         (JSC::Bindings::QtInstance::getObject):
2186         * bridge/qt/qt_runtime.h:
2187         * platform/qt/SharedTimerQt.cpp:
2188         (WebCore::SharedTimerQt::inst):
2189
2190 2011-09-06  Oliver Hunt  <oliver@apple.com>
2191
2192         Update expected results of bindings tests.
2193
2194         * bindings/scripts/test/JS/JSTestInterface.cpp:
2195         (WebCore::JSTestInterfaceConstructor::createStructure):
2196         (WebCore::JSTestInterface::createPrototype):
2197         * bindings/scripts/test/JS/JSTestInterface.h:
2198         (WebCore::JSTestInterface::createStructure):
2199         (WebCore::JSTestInterfacePrototype::createStructure):
2200         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
2201         (WebCore::JSTestMediaQueryListListenerConstructor::createStructure):
2202         (WebCore::JSTestMediaQueryListListener::createPrototype):
2203         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
2204         (WebCore::JSTestMediaQueryListListener::createStructure):
2205         (WebCore::JSTestMediaQueryListListenerPrototype::createStructure):
2206         * bindings/scripts/test/JS/JSTestObj.cpp:
2207         (WebCore::JSTestObjConstructor::createStructure):
2208         (WebCore::JSTestObj::createPrototype):
2209         * bindings/scripts/test/JS/JSTestObj.h:
2210         (WebCore::JSTestObj::createStructure):
2211         (WebCore::JSTestObjPrototype::createStructure):
2212         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
2213         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::createStructure):
2214         (WebCore::JSTestSerializedScriptValueInterface::createPrototype):
2215         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
2216         (WebCore::JSTestSerializedScriptValueInterface::createStructure):
2217         (WebCore::JSTestSerializedScriptValueInterfacePrototype::createStructure):
2218
2219 2011-09-06  Eric Seidel  <eric@webkit.org>
2220
2221         Remove window.HTMLBlockquoteElement per HTML5 (and DOM Core 1)
2222         https://bugs.webkit.org/show_bug.cgi?id=67678
2223
2224         Reviewed by Darin Adler.
2225
2226         This is why we can't have nice things.
2227
2228         There was some confusion in the original DOM HTML 1 spec about
2229         the existence of HTMlBlockquoteElement which was clarified by
2230         a later errata, removing HTMLBlockquoteElement:
2231         http://www.w3.org/DOM/updates/REC-DOM-Level-1-19981001-errata.html
2232         "This interface is an error and must be ignored. The Interface HTMLQuoteElement is used for both the Q and BLOCKQUOTE elements"
2233
2234         Le sigh.  Personally I think having a separate HTMLBlockquoteElement
2235         is clearer, but thats not how the web works.  Removed it and updated test results.
2236
2237         * CMakeLists.txt:
2238         * CodeGenerators.pri:
2239         * DerivedSources.cpp:
2240         * DerivedSources.make:
2241         * GNUmakefile.list.am:
2242         * WebCore.gypi:
2243         * WebCore.pro:
2244         * WebCore.vcproj/WebCore.vcproj:
2245         * WebCore.xcodeproj/project.pbxproj:
2246         * bindings/gobject/GNUmakefile.am:
2247         * editing/IndentOutdentCommand.cpp:
2248         * html/HTMLBlockquoteElement.cpp: Removed.
2249         * html/HTMLBlockquoteElement.h: Removed.
2250         * html/HTMLBlockquoteElement.idl: Removed.
2251         * html/HTMLElementsAllInOne.cpp:
2252         * html/HTMLQuoteElement.cpp:
2253         (WebCore::HTMLQuoteElement::HTMLQuoteElement):
2254         (WebCore::HTMLQuoteElement::insertedIntoDocument):
2255         * html/HTMLTagNames.in:
2256         * page/DOMWindow.idl:
2257
2258 2011-09-06  Ryosuke Niwa  <rniwa@webkit.org>
2259
2260         Rename confirmCompositionWithoutDisturbingSelection to cancelComposition
2261         https://bugs.webkit.org/show_bug.cgi?id=67569
2262
2263         Reviewed by Antonio Gomes.
2264
2265         Renamed Editor::confirmCompositionWithoutDisturbingSelection to Editor::cancelComposition.
2266         Also renamed the shared function from confirmComposition to setComposition.
2267
2268         * WebCore.exp.in:
2269         * editing/Editor.cpp:
2270         (WebCore::Editor::confirmComposition):
2271         (WebCore::Editor::cancelComposition):
2272         (WebCore::Editor::setComposition):
2273         * editing/Editor.h:
2274
2275 2011-09-06  Sam Weinig  <sam@webkit.org>
2276
2277         WebVTTTokenizer files in the wrong place in the Xcode project.
2278
2279         * WebCore.xcodeproj/project.pbxproj:
2280         Move WebVTTTokenizer files so they are in the right place in the project.
2281
2282 2011-09-06  Chris Rogers  <crogers@google.com>
2283
2284         MediaElementAudioSourceNode destruction triggers ASSERTS
2285         https://bugs.webkit.org/show_bug.cgi?id=67665
2286
2287         Reviewed by Nate Chapin.
2288
2289         Test: webaudio/mediaelementaudiosourcenode-gc.html
2290
2291         * html/HTMLMediaElement.cpp:
2292         (WebCore::HTMLMediaElement::setAudioSourceNode):
2293         * webaudio/AudioContext.cpp:
2294         (WebCore::AudioContext::uninitializeDispatch):
2295         (WebCore::AudioContext::stop):
2296         * webaudio/AudioContext.h:
2297
2298 2011-09-05  Oliver Hunt  <oliver@apple.com>
2299
2300         An object's structure should reference the global object responsible for its creation
2301         https://bugs.webkit.org/show_bug.cgi?id=67624
2302
2303         Reviewed by Gavin Barraclough.
2304
2305         Update calls to Structure::create() to pass the globalObject in,
2306         and update the CodeGenerator to generate appropriate createStructure
2307         methods.
2308
2309         * bindings/js/JSAudioConstructor.h:
2310         (WebCore::JSAudioConstructor::createStructure):
2311         * bindings/js/JSDOMBinding.h:
2312         (WebCore::DOMConstructorObject::createStructure):
2313         (WebCore::getDOMStructure):
2314         * bindings/js/JSDOMGlobalObject.h:
2315         (WebCore::JSDOMGlobalObject::createStructure):
2316         (WebCore::getDOMConstructor):
2317         * bindings/js/JSDOMWindowBase.h:
2318         (WebCore::JSDOMWindowBase::createStructure):
2319         * bindings/js/JSDOMWindowShell.cpp:
2320         (WebCore::JSDOMWindowShell::setWindow):
2321         * bindings/js/JSDOMWindowShell.h:
2322         (WebCore::JSDOMWindowShell::createStructure):
2323         * bindings/js/JSDOMWrapper.h:
2324         (WebCore::JSDOMWrapper::createStructure):
2325         * bindings/js/JSImageConstructor.h:
2326         (WebCore::JSImageConstructor::createStructure):
2327         * bindings/js/JSImageDataCustom.cpp:
2328         (WebCore::toJS):
2329         * bindings/js/JSOptionConstructor.h:
2330         (WebCore::JSOptionConstructor::createStructure):
2331         * bindings/js/JSWorkerContextBase.h:
2332         (WebCore::JSWorkerContextBase::createStructure):
2333         * bindings/js/WorkerScriptController.cpp:
2334         (WebCore::WorkerScriptController::initScript):
2335         * bindings/scripts/CodeGeneratorJS.pm:
2336         (GenerateHeader):
2337         (GenerateImplementation):
2338         (GenerateConstructorDeclaration):
2339         * bridge/c/CRuntimeObject.h:
2340         (JSC::Bindings::CRuntimeObject::createStructure):
2341         * bridge/c/c_instance.cpp:
2342         (JSC::Bindings::CRuntimeMethod::createStructure):
2343         * bridge/jni/jsc/JavaInstanceJSC.cpp:
2344         (JavaRuntimeMethod::createStructure):
2345         * bridge/jni/jsc/JavaRuntimeObject.h:
2346         (JSC::Bindings::JavaRuntimeObject::createStructure):
2347         * bridge/objc/ObjCRuntimeObject.h:
2348         (JSC::Bindings::ObjCRuntimeObject::createStructure):
2349         * bridge/objc/objc_instance.mm:
2350         (ObjCRuntimeMethod::createStructure):
2351         * bridge/objc/objc_runtime.h:
2352         (JSC::Bindings::ObjcFallbackObjectImp::createStructure):
2353         * bridge/runtime_array.h:
2354         (JSC::RuntimeArray::createStructure):
2355         * bridge/runtime_method.h:
2356         (JSC::RuntimeMethod::createStructure):
2357         * bridge/runtime_object.h:
2358         (JSC::Bindings::RuntimeObject::createStructure):
2359
2360 2011-09-06  Anders Carlsson  <andersca@apple.com>
2361
2362         Move NPAPI headers in bridge to plugins
2363         https://bugs.webkit.org/show_bug.cgi?id=67661
2364
2365         Reviewed by Darin Adler.
2366
2367         * WebCore.gypi:
2368         * WebCore.pro:
2369         * WebCore.vcproj/WebCore.vcproj:
2370         * WebCore.xcodeproj/project.pbxproj:
2371         Update build systems.
2372
2373         * bridge/npapi.h: Removed.
2374         * bridge/npruntime.h: Removed.
2375         * bridge/nptypes.h: Removed.
2376         * plugins/npapi.h: Copied from Source/WebCore/bridge/npapi.h.
2377         * plugins/npruntime.h: Copied from Source/WebCore/bridge/npruntime.h.
2378         * plugins/nptypes.h: Copied from Source/WebCore/bridge/nptypes.h.
2379
2380 2011-09-06  David Hyatt  <hyatt@apple.com>
2381
2382         https://bugs.webkit.org/show_bug.cgi?id=67672
2383         
2384         Improve background-size parsing. Make it actually dump auto values properly, and also make it omit
2385         auto if it is the second value. Fix the parsing to not create a value list when only a singleton value
2386         is specified.
2387
2388         Reviewed by Beth Dakin.
2389
2390         Covered well by existing tests.
2391
2392         * css/CSSComputedStyleDeclaration.cpp:
2393         (WebCore::fillSizeToCSSValue):
2394         * css/CSSParser.cpp:
2395         (WebCore::CSSParser::parseFillSize):
2396         * css/CSSStyleSelector.cpp:
2397         (WebCore::CSSStyleSelector::mapFillSize):
2398
2399 2011-09-06  David Hyatt  <hyatt@apple.com>
2400
2401         https://bugs.webkit.org/show_bug.cgi?id=67657
2402         
2403         Implement border-image-width. This patch stops short of converting -webkit-border-image to a shorthand.
2404         I'll do that in the next patch.
2405
2406         Note that unlike the -webkit-border-image syntax, border-image-width does not actually set the border
2407         width values. It simply makes cuts into the border image drawing area (which for now is just the border
2408         box, but that will change once border-image-outset is implemented).
2409         
2410         This means we need additional storage for the slices, since they are now separate from the border widths.
2411         
2412         For backwards compatibility, -webkit-border-image will continue to set the border widths when
2413         border-image-width is specified in the -webkit-border-image shorthand.
2414
2415         Reviewed by Beth Dakin.
2416
2417         Added new tests in fast/borders.
2418
2419         * css/CSSBorderImageSliceValue.cpp:
2420         (WebCore::CSSBorderImageSliceValue::CSSBorderImageSliceValue):
2421         (WebCore::CSSBorderImageSliceValue::cssText):
2422         * css/CSSBorderImageSliceValue.h:
2423         (WebCore::CSSBorderImageSliceValue::create):
2424         (WebCore::CSSBorderImageSliceValue::slices):
2425         Rename slices() to imageSlices() and add borderSlices() and m_borderSlices to hold the desired cuts
2426         for the border image drawing area. Converted the slices over to the new Quad primitive value (a RectBase
2427         subclass that is identical to Rect but dumps as a quad instead of a rect primitive).
2428
2429         * css/CSSBorderImageValue.cpp:
2430         (WebCore::CSSBorderImageValue::CSSBorderImageValue):
2431         (WebCore::CSSBorderImageValue::cssText):
2432         * css/CSSBorderImageValue.h:
2433         (WebCore::CSSBorderImageValue::create):
2434         Make CSSBorderImageValue take the border slices during construction now.
2435     
2436         * css/CSSComputedStyleDeclaration.cpp:
2437         (WebCore::valueForNinePieceImageSlice):
2438         (WebCore::valueForNinePieceImageWidth):
2439         (WebCore::valueForNinePieceImageRepeat):
2440         (WebCore::valueForNinePieceImage):
2441         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2442         Add support for computed style via valueForNinePieceImageWidth. Patch all of the border image properties
2443         to dump the most compact form possible for the property values, e.g., "stretch stretch" becomes "stretch."
2444
2445         * css/CSSParser.cpp:
2446         (WebCore::CSSParser::parseValue):
2447         (WebCore::CSSParser::parseReflect):
2448         (WebCore::BorderImageParseContext::BorderImageParseContext):
2449         (WebCore::BorderImageParseContext::commitImageSlice):
2450         (WebCore::BorderImageParseContext::commitBorderWidth):
2451         (WebCore::BorderImageParseContext::commitBorderImage):
2452         (WebCore::CSSParser::parseBorderImage):
2453         (WebCore::isBorderImageRepeatKeyword):
2454         (WebCore::CSSParser::parseBorderImageRepeat):
2455         (WebCore::BorderImageSliceParseContext::commitBorderImageSlice):
2456         (WebCore::CSSParser::parseBorderImageSlice):
2457         (WebCore::BorderImageWidthParseContext::BorderImageWidthParseContext):
2458         (WebCore::BorderImageWidthParseContext::allowNumber):
2459         (WebCore::BorderImageWidthParseContext::allowFinalCommit):
2460         (WebCore::BorderImageWidthParseContext::top):
2461         (WebCore::BorderImageWidthParseContext::commitNumber):
2462         (WebCore::BorderImageWidthParseContext::setAllowFinalCommit):
2463         (WebCore::BorderImageWidthParseContext::setTop):
2464         (WebCore::BorderImageWidthParseContext::commitBorderImageWidth):
2465         (WebCore::CSSParser::parseBorderImageWidth):
2466         * css/CSSParser.h:
2467         Modify the border-image code to pass off border-image-width parsing to parseBorderImageWidth.
2468
2469         * css/CSSPrimitiveValue.cpp:
2470         (WebCore::isValidCSSUnitTypeForDoubleConversion):
2471         (WebCore::CSSPrimitiveValue::init):
2472         (WebCore::CSSPrimitiveValue::cleanup):
2473         (WebCore::CSSPrimitiveValue::getQuadValue):
2474         (WebCore::CSSPrimitiveValue::cssText):
2475         * css/CSSPrimitiveValue.h:
2476         (WebCore::CSSPrimitiveValue::getQuadValue):
2477         Add the new Quad value to CSSPrimitiveValue.
2478     
2479         * css/CSSPropertyNames.in:
2480         Add the new properties for border-image-width and -webkit-mask-box-image-width.
2481
2482         * css/CSSStyleSelector.cpp:
2483         (WebCore::CSSStyleSelector::applyProperty):
2484         (WebCore::CSSStyleSelector::mapNinePieceImage):
2485         (WebCore::CSSStyleSelector::mapNinePieceImageSlice):
2486         (WebCore::CSSStyleSelector::mapNinePieceImageWidth):
2487         (WebCore::CSSStyleSelector::loadPendingImages):
2488         * css/CSSStyleSelector.h:
2489         Add the code to map the image width into border slices.
2490     
2491         * css/Rect.h:
2492         (WebCore::RectBase::top):
2493         (WebCore::RectBase::right):
2494         (WebCore::RectBase::bottom):
2495         (WebCore::RectBase::left):
2496         (WebCore::RectBase::setTop):
2497         (WebCore::RectBase::setRight):
2498         (WebCore::RectBase::setBottom):
2499         (WebCore::RectBase::setLeft):
2500         (WebCore::RectBase::RectBase):
2501         (WebCore::RectBase::~RectBase):
2502         (WebCore::Rect::create):
2503         (WebCore::Rect::Rect):
2504         (WebCore::Quad::create):
2505         (WebCore::Quad::Quad):
2506         Adding the new Quad value.
2507
2508         * rendering/RenderBoxModelObject.cpp:
2509         (WebCore::computeBorderImageSide):
2510         (WebCore::RenderBoxModelObject::paintNinePieceImage):
2511         Modify painting to treat the border slices as separate from the border widths.
2512         
2513         * rendering/style/NinePieceImage.cpp:
2514         (WebCore::NinePieceImage::operator==):
2515         * rendering/style/NinePieceImage.h:
2516         (WebCore::NinePieceImage::NinePieceImage):
2517         (WebCore::NinePieceImage::imageSlices):
2518         (WebCore::NinePieceImage::setImageSlices):
2519         (WebCore::NinePieceImage::borderSlices):
2520         (WebCore::NinePieceImage::setBorderSlices):
2521         (WebCore::NinePieceImage::copyImageSlicesFrom):
2522         (WebCore::NinePieceImage::copyBorderSlicesFrom):
2523         * rendering/style/StyleRareNonInheritedData.cpp:
2524         Add the border slices.
2525         
2526         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
2527         * rendering/style/StyleReflection.h:
2528         (WebCore::StyleReflection::StyleReflection):
2529         Make sure masks and reflections default border-image-width to auto instead of 1, since that matches
2530         old behavior.
2531
2532 2011-09-06  Noel Gordon  <noel.gordon@gmail.com>
2533
2534         [chromium skia] JPEGImageEncoder: hoist constants out of the encoding loop
2535         https://bugs.webkit.org/show_bug.cgi?id=67589
2536
2537         Reviewed by Kenneth Russell.
2538
2539         Change the row converter function signatures to be the same.  Call them via a function
2540         pointer during the encoding loop.  Minor webkit style cleanup, remove unused include.
2541
2542         No new tests.  Covered by existing canvas 2d and 3d tests.
2543         canvas/philip/tests/toDataURL.jpeg.alpha.html
2544         fast/canvas/webgl/premultiplyalpha-test.html
2545
2546         * platform/image-encoders/skia/JPEGImageEncoder.cpp:  Remove SkUnPreMultiply.h (not used).
2547         (WebCore::preMultipliedBGRAtoRGB):  Use unsigned char* instead of void* for pixels.
2548         (WebCore::RGBAtoRGB):  pixels & pixelCount to match the preMultipliedBGRAtoRGB() signature.
2549         (WebCore::encodePixels):  Move constants out of the encoding loop: use a function pointer
2550         to call preMultipliedBGRAtoRGB or RGBAtoRGB (now they have identical signatures), define
2551         and use pixelRowStride constant.
2552         (WebCore::JPEGImageEncoder::encode):
2553
2554 2011-09-06  Aaron Colwell  <acolwell@chromium.org>
2555
2556         Allow MediaSource API to be enabled at runtime.
2557         https://bugs.webkit.org/show_bug.cgi?id=67306
2558
2559         Reviewed by Eric Carlson.
2560
2561         * bindings/generic/RuntimeEnabledFeatures.cpp:
2562         * bindings/generic/RuntimeEnabledFeatures.h:
2563         (WebCore::RuntimeEnabledFeatures::webkitMediaSourceEnabled):
2564         (WebCore::RuntimeEnabledFeatures::setWebkitMediaSourceEnabled):
2565         * html/HTMLMediaElement.idl:
2566
2567 2011-09-06  Mike Reed  <reed@google.com>
2568
2569         [skia] never draw with GDI, so that all text can be gpu-accelerated
2570         https://bugs.webkit.org/show_bug.cgi?id=65203
2571
2572         Reviewed by Kenneth Russell.
2573
2574         * platform/graphics/chromium/FontChromiumWin.cpp:
2575         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::TransparencyAwareFontPainter):
2576         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::TransparencyAwareGlyphPainter):
2577         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
2578         (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::TransparencyAwareUniscribePainter):
2579         (WebCore::drawGlyphsWin):
2580         (WebCore::Font::drawComplexText):
2581         * platform/graphics/chromium/UniscribeHelper.cpp:
2582         (WebCore::UniscribeHelper::draw):
2583         * platform/graphics/skia/PlatformContextSkia.cpp:
2584         * platform/graphics/skia/PlatformContextSkia.h:
2585         * platform/graphics/skia/SkiaFontWin.cpp:
2586         (WebCore::skiaDrawText):
2587         * platform/graphics/skia/SkiaFontWin.h:
2588
2589 2011-09-06  Nat Duca  <nduca@chromium.org>
2590
2591         [chromium] REGRESSION(94353): requestAnimationFrame not throttled in compositing path
2592         https://bugs.webkit.org/show_bug.cgi?id=67621
2593
2594         CCSingleThreadProxy should not perform layout when called
2595         via the compositeImmediately path. Doing so makes it look
2596         like frame rate is unbounded.
2597
2598         Reviewed by James Robinson.
2599
2600         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
2601         (WebCore::CCSingleThreadProxy::compositeAndReadback):
2602         (WebCore::CCSingleThreadProxy::compositeImmediately):
2603         (WebCore::CCSingleThreadProxy::commitIfNeeded):
2604         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
2605
2606 2011-09-06  Ryosuke Niwa  <rniwa@webkit.org>
2607
2608         REGRESSION(r94274): FormManagerTest.PreviewForm and FillFormNonEmptyField fail on chromium
2609         https://bugs.webkit.org/show_bug.cgi?id=67453
2610
2611         Reviewed by Kent Tamura.
2612
2613         Fixed the bug by updating inner text value in setSuggestedValue.
2614
2615         Also added a suggestedValue and setSuggestedValue on window.internals for testing purposes.
2616
2617         Test: fast/forms/suggested-value.html
2618
2619         * WebCore.exp.in:
2620         * testing/Internals.cpp:
2621         (WebCore::Internals::suggestedValue):
2622         (WebCore::Internals::setSuggestedValue):
2623         * testing/Internals.h:
2624         * testing/Internals.idl:
2625
2626 2011-09-06  Eric Carlson  <eric.carlson@apple.com>
2627
2628         load() does not reset the resource selection algorithm
2629         https://bugs.webkit.org/show_bug.cgi?id=64917
2630
2631         Reviewed by Darin Adler.
2632
2633         Test: media/video-source-load.html
2634
2635         * html/HTMLMediaElement.cpp:
2636         (WebCore::HTMLMediaElement::selectMediaResource): Reset m_nextChildNodeToConsider, update
2637             comments and rearrange logic to more closely match logic in spec.
2638         (WebCore::HTMLMediaElement::noneSupported): Update comments.
2639
2640 2011-09-06  Abhishek Arya  <inferno@chromium.org>
2641
2642         Style not propagated to anonymous boxes and anonymous
2643         inline-blocks.
2644         https://bugs.webkit.org/show_bug.cgi?id=67364
2645
2646         Reviewed by James Robinson.
2647
2648         Share propagateStyleToAnonymousChildren with RenderBlock::styleDidChange.
2649
2650         * rendering/RenderBlock.cpp:
2651         (WebCore::RenderBlock::styleDidChange):
2652         * rendering/RenderObject.cpp:
2653         (WebCore::RenderObject::propagateStyleToAnonymousChildren):
2654         * rendering/RenderObject.h:
2655
2656 2011-09-06  Robin Cao  <robin.cao@torchmobile.com.cn>
2657
2658         [skia] States of GraphicsContext may never be restored after clipToImageBuffer
2659         https://bugs.webkit.org/show_bug.cgi?id=67358
2660
2661         beginLayerClippedToImage/applyClipFromImage are mismatched when clipping to
2662         an empty ImageBuffer, which will make states of GraphicsContext incorrect.
2663
2664         Reviewed by James Robinson.
2665
2666         Test: fast/repaint/background-clip-text.html
2667
2668         * platform/graphics/skia/PlatformContextSkia.cpp:
2669         (WebCore::PlatformContextSkia::beginLayerClippedToImage):
2670
2671 2011-09-06  Raphael Kubo da Costa  <kubo@profusion.mobi>
2672
2673         [EFL] Do not allocate memory for extremely large surfaces.
2674         https://bugs.webkit.org/show_bug.cgi?id=65192
2675
2676         Reviewed by Martin Robinson.
2677
2678         So far, RenderThemeEfl tried to allocate a buffer and a cairo surface
2679         the size of the whole form element passed to it.
2680
2681         In the case of
2682         fast/overflow/overflow-height-float-not-removed-crash.html and others,
2683         this meant extremely large widgets, which crashed the code.
2684
2685         We now only render the widgets if they are smaller than some hardcoded
2686         and sufficiently large values which should work in most cases.
2687
2688         No new tests, as this was uncovered by existing ones.
2689
2690         * platform/efl/RenderThemeEfl.cpp:
2691         (WebCore::RenderThemeEfl::isFormElementTooLargeToDisplay):
2692         (WebCore::RenderThemeEfl::cacheThemePartNew):
2693         (WebCore::RenderThemeEfl::paintThemePart):
2694         * platform/efl/RenderThemeEfl.h:
2695
2696 2011-08-30  Pavel Podivilov  <podivilov@chromium.org>
2697
2698         Web Inspector: implement source map v3 consumer.
2699         https://bugs.webkit.org/show_bug.cgi?id=67205
2700
2701         Reviewed by Yury Semikhatsky.
2702
2703         Test: inspector/debugger/compiler-source-mapping.html
2704
2705         * WebCore.gypi:
2706         * WebCore.vcproj/WebCore.vcproj:
2707         * inspector/front-end/CompilerSourceMapping.js: Added.
2708         (WebInspector.CompilerSourceMapping):
2709         (WebInspector.CompilerSourceMapping.prototype.compiledLocationToSourceLocation):
2710         (WebInspector.CompilerSourceMapping.prototype.sourceLocationToCompiledLocation):
2711         (WebInspector.CompilerSourceMapping.prototype.get sources):
2712         (WebInspector.ClosureCompilerSourceMapping):
2713         (WebInspector.ClosureCompilerSourceMapping.prototype.compiledLocationToSourceLocation):
2714         (WebInspector.ClosureCompilerSourceMapping.prototype.sourceLocationToCompiledLocation):
2715         (WebInspector.ClosureCompilerSourceMapping.prototype.get sources):
2716         (WebInspector.ClosureCompilerSourceMapping.prototype._findMapping):
2717         (WebInspector.ClosureCompilerSourceMapping.prototype._parsePayload):
2718         (WebInspector.ClosureCompilerSourceMapping.prototype._isSeparator):
2719         (WebInspector.ClosureCompilerSourceMapping.prototype._decodeVLQ):
2720         (WebInspector.ClosureCompilerSourceMapping.StringCharIterator):
2721         (WebInspector.ClosureCompilerSourceMapping.StringCharIterator.prototype.next):
2722         (WebInspector.ClosureCompilerSourceMapping.StringCharIterator.prototype.peek):
2723         (WebInspector.ClosureCompilerSourceMapping.StringCharIterator.prototype.hasNext):
2724         * inspector/front-end/WebKit.qrc:
2725         * inspector/front-end/inspector.html:
2726
2727 2011-09-05  Pavel Podivilov  <podivilov@chromium.org>
2728
2729         Web Inspector: re-implement RawSourceCode.
2730         https://bugs.webkit.org/show_bug.cgi?id=67609
2731
2732         RawSourceCode content and source mapping loading logic is too complex, re-implement it using simpler semantics:
2733         1) Initially, RawSourceCode doesn't have any content or mapping because content loading and
2734         formatting operations are asynchronous, it only has scripts metadata. We don't update UI right
2735         after RawSourceCode creation until full RawSourceCode representation is ready (content + mapping).
2736         2) When RawSourceCode representation is ready (e.g. resource is finished, or content is formatted
2737         if in pretty-print mode) we dispatch SourceMappingUpdated event to notify the listeners that
2738         source code should be shown to user and raw locations should be converted to ui locations
2739         (to show breakpoins, messages, call frames etc in UI). At this moment, all source file's content
2740         is ready for loading and source mapping is available.
2741         3) Later, RawSourceCode representation may change again, e.g. if pretty-print mode is toggled, or
2742         blocked resource is finished etc., in that case SourceMappingUpdated is dispatched again to update
2743         source code, links and decorations in UI.
2744
2745         Reviewed by Yury Semikhatsky.
2746
2747         * inspector/front-end/DebuggerPresentationModel.js:
2748         (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation):
2749         (WebInspector.DebuggerPresentationModel.prototype._addScript):
2750         (WebInspector.DebuggerPresentationModel.prototype._sourceMappingUpdated):
2751         (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
2752         (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessage.didGetUILocation):
2753         (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessage):
2754         (WebInspector.DebuggerPresentationModel.prototype.messagesForUISourceCode):
2755         * inspector/front-end/ScriptsPanel.js:
2756         (WebInspector.ScriptsPanel.prototype._uiSourceCodeReplaced):
2757         (WebInspector.ScriptsPanel.prototype._sourceFrameLoaded):
2758         * inspector/front-end/SourceFile.js:
2759         (WebInspector.RawSourceCode):
2760         (WebInspector.RawSourceCode.prototype.addScript):
2761         (WebInspector.RawSourceCode.prototype.contentEdited):
2762         (WebInspector.RawSourceCode.prototype._resourceFinished):
2763         (WebInspector.RawSourceCode.prototype.requestContent):
2764         (WebInspector.RawSourceCode.prototype.createSourceMappingIfNeeded.sourceMappingUpdated):
2765         (WebInspector.RawSourceCode.prototype.createSourceMappingIfNeeded):
2766         (WebInspector.RawSourceCode.prototype.forceLoadContent):
2767         (WebInspector.RawSourceCode.prototype._updateSourceMapping.didCreateSourceMapping):
2768         (WebInspector.RawSourceCode.prototype._updateSourceMapping):
2769         (WebInspector.RawSourceCode.prototype._createContentProvider):
2770         (WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent.didFormatContent):
2771         (WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent):
2772         (WebInspector.RawSourceCode.prototype._createSourceMapping):
2773         (WebInspector.RawSourceCode.prototype._saveSourceMapping):
2774         (WebInspector.StaticContentProvider):
2775         (WebInspector.StaticContentProvider.prototype.requestContent):
2776
2777 2011-09-06  Csaba Osztrogonác  <ossy@webkit.org>
2778
2779         Unreviewed, rolling out r94564.
2780         http://trac.webkit.org/changeset/94564
2781         https://bugs.webkit.org/show_bug.cgi?id=67555
2782
2783         It broke many tests
2784
2785         * svg/SVGTRefElement.cpp:
2786         (WebCore::SVGTRefElement::svgAttributeChanged):
2787
2788 2011-09-06  Rob Buis  <rbuis@rim.com>
2789
2790         use after free in WebCore::SVGTRefElement::updateReferencedText
2791         https://bugs.webkit.org/show_bug.cgi?id=67555
2792
2793         Reviewed by Nikolas Zimmermann.
2794
2795         Do not install event listener if tref is not part of any document.
2796
2797         Test: svg/custom/tref-clone-crash.html
2798
2799         * svg/SVGTRefElement.cpp:
2800         (WebCore::SVGTRefElement::svgAttributeChanged):
2801
2802 2011-09-06  Sheriff Bot  <webkit.review.bot@gmail.com>
2803
2804         Unreviewed, rolling out r94560.
2805         http://trac.webkit.org/changeset/94560
2806         https://bugs.webkit.org/show_bug.cgi?id=67636
2807
2808         It made inspector/debugger/script-formatter.html flakey
2809         (Requested by Ossy on #webkit).
2810
2811         * inspector/front-end/BreakpointManager.js:
2812         (WebInspector.BreakpointManager.prototype.set reset):
2813         * inspector/front-end/DebuggerPresentationModel.js:
2814         (WebInspector.DebuggerPresentationModel.prototype._addScript.didCreateSourceMapping):
2815         (WebInspector.DebuggerPresentationModel.prototype._addScript):
2816         (WebInspector.DebuggerPresentationModel.prototype._uiSourceCodeReplaced):
2817         (WebInspector.DebuggerPresentationModel.prototype.setFormatSource):
2818         (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessage.didGetUILocation):
2819         (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessage):
2820         (WebInspector.PresenationCallFrame.prototype.select):
2821         * inspector/front-end/ScriptsPanel.js:
2822         (WebInspector.ScriptsPanel.prototype._uiSourceCodeReplaced):
2823         (WebInspector.ScriptsPanel.prototype._sourceFrameLoaded):
2824         * inspector/front-end/SourceFile.js:
2825         (WebInspector.RawSourceCode):
2826         (WebInspector.RawSourceCode.prototype.addScript):
2827         (WebInspector.RawSourceCode.prototype.contentEdited):
2828         (WebInspector.RawSourceCode.prototype.requestContent):
2829         (WebInspector.RawSourceCode.prototype.createSourceMappingIfNeeded.didRequestContent):
2830         (WebInspector.RawSourceCode.prototype.createSourceMappingIfNeeded):
2831         (WebInspector.RawSourceCode.prototype._setContentProvider):
2832         (WebInspector.RawSourceCode.prototype.forceLoadContent):
2833         (WebInspector.RawSourceCode.prototype._reload):
2834         (WebInspector.RawSourceCode.prototype._requestContent):
2835         (WebInspector.RawSourceCode.prototype._loadResourceContent):
2836         (WebInspector.RawSourceCode.prototype._loadScriptContent):
2837         (WebInspector.RawSourceCode.prototype._loadAndConcatenateScriptsContent):
2838         (WebInspector.RawSourceCode.prototype._didRequestContent):
2839         (WebInspector.RawSourceCode.prototype._hasPendingResource):
2840         (WebInspector.FormattedContentProvider):
2841         (WebInspector.FormattedContentProvider.prototype.requestContent.didRequestContent.didFormatContent):
2842         (WebInspector.FormattedContentProvider.prototype.requestContent):
2843
2844 2011-09-06  Antti Koivisto  <antti@apple.com>
2845
2846         https://bugs.webkit.org/show_bug.cgi?id=67480
2847         [Chromium] [REGRESSION] Layout Test svg/batik/text/textStyles.svg is failing
2848
2849         Reviewed by Dimitri Glazkov.
2850
2851         The text node needs willRecalcStyle mechanism too.
2852
2853         * dom/Text.cpp:
2854         (WebCore::Text::recalcTextStyle):
2855         * dom/Text.h:
2856         (WebCore::Text::willRecalcTextStyle):
2857         * svg/SVGTRefElement.cpp:
2858         (WebCore::SVGTRefElement::SVGTRefElement):
2859         (WebCore::SVGShadowText::SVGShadowText):
2860         (WebCore::SVGShadowText::willRecalcTextStyle):
2861
2862 2011-09-05  Pavel Podivilov  <podivilov@chromium.org>
2863
2864         Web Inspector: re-implement RawSourceCode.
2865         https://bugs.webkit.org/show_bug.cgi?id=67609
2866
2867         RawSourceCode content and source mapping loading logic is too complex, re-implement it using simpler semantics:
2868         1) Initially, RawSourceCode doesn't have any content or mapping because content loading and
2869         formatting operations are asynchronous, it only has scripts metadata. We don't update UI right
2870         after RawSourceCode creation until full RawSourceCode representation is ready (content + mapping).
2871         2) When RawSourceCode representation is ready (e.g. resource is finished, or content is formatted
2872         if in pretty-print mode) we dispatch SourceMappingUpdated event to notify the listeners that
2873         source code should be shown to user and raw locations should be converted to ui locations
2874         (to show breakpoins, messages, call frames etc in UI). At this moment, all source file's content
2875         is ready for loading and source mapping is available.
2876         3) Later, RawSourceCode representation may change again, e.g. if pretty-print mode is toggled, or
2877         blocked resource is finished etc., in that case SourceMappingUpdated is dispatched again to update
2878         source code, links and decorations in UI.
2879
2880         Reviewed by Yury Semikhatsky.
2881
2882         * inspector/front-end/DebuggerPresentationModel.js:
2883         (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation):
2884         (WebInspector.DebuggerPresentationModel.prototype._addScript):
2885         (WebInspector.DebuggerPresentationModel.prototype._sourceMappingUpdated):
2886         (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
2887         (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessage.didGetUILocation):
2888         (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessage):
2889         (WebInspector.DebuggerPresentationModel.prototype.messagesForUISourceCode):
2890         * inspector/front-end/ScriptsPanel.js:
2891         (WebInspector.ScriptsPanel.prototype._uiSourceCodeReplaced):
2892         (WebInspector.ScriptsPanel.prototype._sourceFrameLoaded):
2893         * inspector/front-end/SourceFile.js:
2894         (WebInspector.RawSourceCode):
2895         (WebInspector.RawSourceCode.prototype.addScript):
2896         (WebInspector.RawSourceCode.prototype.contentEdited):
2897         (WebInspector.RawSourceCode.prototype._resourceFinished):
2898         (WebInspector.RawSourceCode.prototype.requestContent):
2899         (WebInspector.RawSourceCode.prototype.createSourceMappingIfNeeded.sourceMappingUpdated):
2900         (WebInspector.RawSourceCode.prototype.createSourceMappingIfNeeded):
2901         (WebInspector.RawSourceCode.prototype.forceLoadContent):
2902         (WebInspector.RawSourceCode.prototype._updateSourceMapping.didCreateSourceMapping):
2903         (WebInspector.RawSourceCode.prototype._updateSourceMapping):
2904         (WebInspector.RawSourceCode.prototype._createContentProvider):
2905         (WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent.didFormatContent):
2906         (WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent):
2907         (WebInspector.RawSourceCode.prototype._createSourceMapping):
2908         (WebInspector.RawSourceCode.prototype._saveSourceMapping):
2909         (WebInspector.StaticContentProvider):
2910         (WebInspector.StaticContentProvider.prototype.requestContent):
2911
2912 2011-09-06  Dirk Schulze  <krit@webkit.org>
2913
2914         Return to transform multiplication: motion transform * other transforms
2915         https://bugs.webkit.org/show_bug.cgi?id=67601
2916
2917         Reviewed by Nikolas Zimmermann.
2918         
2919         Right now we take the current transform of a transformable SVG element, post multiply the animation transform
2920         and post multiply the motion transform to the other both:
2921
2922           transform * animation transform * motion transform
2923
2924         We switched to this behavior with the clean up of AffineTransform.
2925         While the specification of SVG demands us to do so, no other SVG viewer is doing it that way. Now switching back to:
2926
2927           motion transform * transform * animation transform
2928
2929         This is done by other SVG viewers as well. While their is no consense about how to multiply the different transforms
2930         on the SVG WG, their is a consense that the current specified behavior is unwanted. See
2931         http://lists.w3.org/Archives/Public/www-svg/2011Jan/0055.html for more details.
2932
2933         We pass the following tests of the official W3C SVG test suite again now:
2934
2935         - animate-elem-24-t.svg
2936         - animate-elem-30-t.svg
2937
2938         * svg/SVGStyledTransformableElement.cpp:
2939         (WebCore::SVGStyledTransformableElement::animatedLocalTransform):
2940         * svg/SVGTextElement.cpp:
2941         (WebCore::SVGTextElement::animatedLocalTransform):
2942
2943 2011-09-05  Adam Barth  <abarth@webkit.org>
2944
2945         window.HTMLSpanElement does not exist
2946         https://bugs.webkit.org/show_bug.cgi?id=67571
2947
2948         Reviewed by Sam Weinig.
2949
2950         We have these objects for most other elements and HTMLSpanElement
2951         exists in Firefox and in the HTML5 spec.  This patch adds it.
2952
2953         Test: fast/dom/wrapper-classes.html
2954
2955         * CMakeLists.txt:
2956         * CodeGenerators.pri:
2957         * DerivedSources.cpp:
2958         * DerivedSources.make:
2959         * GNUmakefile.list.am:
2960         * WebCore.gypi:
2961         * WebCore.pro:
2962         * WebCore.vcproj/WebCore.vcproj:
2963         * WebCore.xcodeproj/project.pbxproj:
2964         * html/HTMLElementsAllInOne.cpp:
2965         * html/HTMLSpanElement.cpp: Added.
2966         (WebCore::HTMLSpanElement::HTMLSpanElement):
2967         (WebCore::HTMLSpanElement::create):
2968         * html/HTMLSpanElement.h: Added.
2969         * html/HTMLSpanElement.idl: Added.
2970         * html/HTMLTagNames.in:
2971         * page/DOMWindow.idl:
2972
2973 2011-09-04  Abhishek Arya  <inferno@chromium.org>
2974
2975         Style not propagated to anonymous boxes and anonymous
2976         inline-blocks.
2977         https://bugs.webkit.org/show_bug.cgi?id=67364
2978
2979         Reviewed by James Robinson.
2980
2981         Tests: fast/ruby/ruby-block-style-not-updated-with-before-after-content.html
2982                fast/ruby/ruby-block-style-not-updated.html
2983                fast/ruby/ruby-inline-style-not-updated-with-before-after-content.html
2984                fast/ruby/ruby-inline-style-not-updated.html
2985                fast/table/table-row-style-not-updated-with-after-content.html
2986                fast/table/table-row-style-not-updated-with-before-content.html
2987                fast/table/table-row-style-not-updated.html
2988                fast/table/table-style-not-updated.html
2989
2990         * rendering/RenderObject.cpp:
2991         (WebCore::RenderObject::propagateStyleToAnonymousChildren):
2992         * rendering/RenderObject.h:
2993         (WebCore::RenderObject::isBeforeAfterContent):
2994         * rendering/RenderRuby.cpp:
2995         (WebCore::RenderRubyAsInline::styleDidChange):
2996         (WebCore::RenderRubyAsBlock::styleDidChange):
2997         * rendering/RenderRuby.h:
2998         * rendering/RenderTable.cpp:
2999         (WebCore::RenderTable::styleDidChange):
3000         * rendering/RenderTableRow.cpp:
3001         (WebCore::RenderTableRow::styleDidChange):
3002         (WebCore::RenderTableRow::addChild):
3003         * rendering/RenderTableSection.cpp:
3004         (WebCore::RenderTableSection::styleDidChange):
3005         (WebCore::RenderTableSection::addChild):
3006         * rendering/RenderTableSection.h:
3007
3008 2011-09-05  Abhishek Arya  <inferno@chromium.org>
3009
3010         Crash in RenderObjectChildList::destroyLeftOverChildren()
3011         https://bugs.webkit.org/show_bug.cgi?id=64753
3012
3013         Reviewed by James Robinson.
3014
3015         If any of the ancestors between column span element and containing
3016         column's block is a continuation, then don't attempt to render the
3017         column span by splitting the block into continuations.
3018
3019         Test: fast/multicol/column-span-parent-continuation-crash.html
3020
3021         * rendering/RenderBlock.cpp:
3022         (WebCore::RenderBlock::columnsBlockForSpanningElement):
3023
3024 2011-09-05  Sheriff Bot  <webkit.review.bot@gmail.com>
3025
3026         Unreviewed, rolling out r94537.
3027         http://trac.webkit.org/changeset/94537
3028         https://bugs.webkit.org/show_bug.cgi?id=67618
3029
3030         Does not compile on Chromium Mac (Requested by abarth_ on
3031         #webkit).
3032
3033         * platform/image-encoders/skia/JPEGImageEncoder.cpp:
3034         (WebCore::preMultipliedBGRAtoRGB):
3035         (WebCore::RGBAtoRGB):
3036         (WebCore::encodePixels):
3037         (WebCore::JPEGImageEncoder::encode):
3038
3039 2011-09-05  Noel Gordon  <noel.gordon@gmail.com>
3040
3041         [chromium skia] JPEGImageEncoder: hoist contants out of the encoding loop
3042         https://bugs.webkit.org/show_bug.cgi?id=67589
3043
3044         Reviewed by Adam Barth.
3045
3046         Change the row converter function signatures to be the same.  Call them via a function
3047         pointer during the encoding loop.  Minor webkit stlye cleanup, remove unused include.
3048
3049         No new tests.  Covered by existing canvas 2d and 3d tests.
3050         canvas/philip/tests/toDataURL.jpeg.alpha.html
3051         fast/canvas/webgl/premultiplyalpha-test.html
3052
3053         * platform/image-encoders/skia/JPEGImageEncoder.cpp:  Remove SkUnPreMultiply.h (not used).
3054         (WebCore::preMultipliedBGRAtoRGB):  Use unsigned char* instead of void* for pixels.
3055         (WebCore::RGBAtoRGB):  pixels & pixelCount to match the preMultipliedBGRAtoRGB() signature.
3056         (WebCore::encodePixels):  Move contants out of the encoding loop: use a function pointer to
3057         call preMultipliedBGRAtoRGB or RGBAtoRGB (now they have identical signatures) during the
3058         image row encoding loop.  Add/use pixelRowStride constant.
3059         (WebCore::JPEGImageEncoder::encode):  webkit style: no need to split lines.
3060
3061 2011-09-05  John Knottenbelt  <jknotten@chromium.org>
3062
3063         Take pageScaleFactor into account for MouseRelatedEvents.
3064         https://bugs.webkit.org/show_bug.cgi?id=67592
3065
3066         Reviewed by Dimitri Glazkov.
3067
3068         Test: fast/events/page-scaled-mouse-click.html
3069
3070         * dom/MouseRelatedEvent.cpp:
3071         (WebCore::MouseRelatedEvent::MouseRelatedEvent):
3072
3073 2011-09-02  Pavel Podivilov  <podivilov@chromium.org>
3074
3075         Web Inspector: rename RawSourceCode.reload to contentEdited.
3076         https://bugs.webkit.org/show_bug.cgi?id=67504
3077
3078         Make RawSourceCode.reload private and remove RawSourceCode.content getter and setter
3079         (RawSourceCode isn't supposed to have any content).
3080
3081         Reviewed by Yury Semikhatsky.
3082
3083         * inspector/front-end/DebuggerPresentationModel.js:
3084         (WebInspector.DebuggerPresentationModel.prototype.setScriptSource.didEditScriptSource):
3085         (WebInspector.DebuggerPresentationModel.prototype.setScriptSource):
3086         (WebInspector.DebuggerPresentationModelResourceBinding.prototype.canSetContent):
3087         (WebInspector.DebuggerPresentationModelResourceBinding.prototype.setContent):
3088         (WebInspector.DebuggerPresentationModelResourceBinding.prototype._setContentWithInitialContent):
3089         * inspector/front-end/SourceFile.js:
3090         (WebInspector.RawSourceCode):
3091         (WebInspector.RawSourceCode.prototype.contentEdited):
3092         (WebInspector.RawSourceCode.prototype.forceLoadContent):
3093         (WebInspector.RawSourceCode.prototype._reload):
3094         (WebInspector.RawSourceCode.prototype._didRequestContent):
3095
3096 2011-09-05  Leandro Gracia Gil  <leandrogracia@chromium.org>
3097
3098         Fix the regression of bug 65333 introduced by 60170.
3099         This caused the speech input bubble to appear in the wrong side for RTL text inputs.
3100         https://bugs.webkit.org/show_bug.cgi?id=67597
3101
3102         Reviewed by Tony Gentilcore.
3103
3104         No new tests. Fixing regression.
3105
3106         * html/shadow/TextControlInnerElements.cpp:
3107         (WebCore::InputFieldSpeechButtonElement::startSpeechInput):
3108
3109 2011-09-05  Alexander Pavlov  <apavlov@chromium.org>
3110
3111         Web Inspector: F5 results in a Web Inspector frontend reload on non-Macs
3112         https://bugs.webkit.org/show_bug.cgi?id=67602
3113
3114         Reviewed by Yury Semikhatsky.
3115
3116         * inspector/front-end/inspector.js:
3117         (WebInspector.documentKeyDown):
3118
3119 2011-09-05  Sheriff Bot  <webkit.review.bot@gmail.com>
3120
3121         Unreviewed, rolling out r94525.
3122         http://trac.webkit.org/changeset/94525
3123         https://bugs.webkit.org/show_bug.cgi?id=67599
3124
3125         WinCE compilation failed. (Requested by loislo on #webkit).
3126
3127         * platform/text/TextBoundaries.cpp:
3128         * platform/text/TextBreakIteratorICU.cpp:
3129         * platform/text/qt/TextBoundariesQt.cpp:
3130         * platform/text/qt/TextBreakIteratorQt.cpp:
3131
3132 2011-09-05  Alexander Færøy  <alexander.faeroy@nokia.com>
3133
3134         [Qt] Compiling using system ICU uses QTextBreakIterator in some cases.
3135         https://bugs.webkit.org/show_bug.cgi?id=67391
3136
3137         Reviewed by Kenneth Rohde Christiansen.
3138
3139         * platform/text/TextBoundaries.cpp:
3140         * platform/text/TextBreakIteratorICU.cpp:
3141         * platform/text/qt/TextBoundariesQt.cpp:
3142         * platform/text/qt/TextBreakIteratorQt.cpp:
3143
3144 2011-09-05  Kaustubh Atrawalkar  <kaustubh@motorola.com>
3145
3146         Logic from HTMLElement::deprecatedCreateContextualFragment moved into
3147         Range::createContextualFragment function.
3148         https://bugs.webkit.org/show_bug.cgi?id=67056
3149
3150         Reviewed by Ryosuke Niwa.
3151
3152         Code Refactoring for deprecatedCreateContextualFragment.
3153
3154         No new tests. Code Re-factoring.
3155
3156         * dom/Element.cpp:
3157         * dom/Element.h:
3158         * dom/Range.cpp:
3159         (WebCore::insertIntoFragment):
3160         (WebCore::Range::createDocumentFragmentForElement):
3161         (WebCore::Range::createContextualFragment):
3162         * dom/Range.h:
3163         * editing/markup.cpp:
3164         (WebCore::createFragmentFromMarkup):
3165         * html/HTMLElement.cpp:
3166         * html/HTMLElement.h:
3167
3168 2011-09-04  James Kozianski  <koz@chromium.org>
3169
3170         Unreviewed, rolling out r94510.
3171         http://trac.webkit.org/changeset/94510
3172         https://bugs.webkit.org/show_bug.cgi?id=66531
3173
3174         Causes layout test crashes.
3175
3176         * dom/Document.cpp:
3177         (WebCore::Document::webkitWillEnterFullScreenForElement):
3178         (WebCore::Document::webkitDidExitFullScreenForElement):
3179         * dom/NodeRenderingContext.cpp:
3180         (WebCore::wrapWithRenderFullScreen):
3181         (WebCore::NodeRendererFactory::createRendererIfNeeded):
3182         * rendering/RenderFullScreen.cpp:
3183         (RenderFullScreen::createFullScreenStyle):
3184         * rendering/RenderFullScreen.h:
3185
3186 2011-09-04  Abhishek Arya  <inferno@chromium.org>
3187
3188         Unreviewed. Compile fix for r94511.
3189
3190         * dom/Range.cpp:
3191         (WebCore::Range::processContents):
3192         (WebCore::Range::processAncestorsAndTheirSiblings):
3193
3194 2011-09-04  Abhishek Arya  <inferno@chromium.org>
3195
3196         Crash in Range::processAncestorsAndTheirSiblings.
3197         https://bugs.webkit.org/show_bug.cgi?id=67556
3198
3199         Reviewed by Ryosuke Niwa.
3200
3201         Create a temporary RefPtr Node vector to keep all the ancestor's
3202         childs so that we don't access removed child nodes.
3203
3204         Test: fast/dom/Range/range-delete-contents-event-fire-crash.html
3205
3206         * dom/Range.cpp:
3207         (WebCore::Range::processContents):
3208         (WebCore::Range::processAncestorsAndTheirSiblings):
3209
3210 2011-09-04  Jeremy Apthorp  <jeremya@google.com>
3211
3212         Don't detach elements from the render tree when entering fullscreen mode
3213         https://bugs.webkit.org/show_bug.cgi?id=66531
3214
3215         This prevents plugin instances from being destroyed and reinstantiated
3216         when entering fullscreen mode.
3217
3218         Reviewed by Darin Fisher.
3219
3220         Test: plugins/fullscreen-plugins-dont-reload.html
3221
3222         * dom/Document.cpp:
3223         (WebCore::Document::webkitWillEnterFullScreenForElement):
3224         (WebCore::Document::webkitDidExitFullScreenForElement):
3225         * dom/NodeRenderingContext.cpp:
3226         (WebCore::NodeRendererFactory::createRendererIfNeeded):
3227         * rendering/RenderFullScreen.cpp:
3228         (createFullScreenStyle):
3229         (RenderFullScreen::wrapRenderer):
3230         (RenderFullScreen::unwrapRenderer):
3231         * rendering/RenderFullScreen.h:
3232
3233 2011-09-04  Dan Bernstein  <mitz@apple.com>
3234
3235         <rdar://problem/10071256> Retain retired custom fonts until the next style recalc
3236
3237         Reviewed by Darin Adler.
3238
3239         Test: fast/css/font-face-used-after-retired.html
3240
3241         During style recalc, existing renderers may reference their old style, including font data.
3242         Allow them to do so safely by keeping retired custom font data around until after style recalc.
3243
3244         * css/CSSFontFace.cpp:
3245         (WebCore::CSSFontFace::retireCustomFont): Added. Calls through to CSSFontSelector, if the font
3246         face is still part of any segmented font face. Otherwise, deletes the custom font data.
3247         * css/CSSFontFace.h:
3248         * css/CSSFontFaceSource.cpp:
3249         (WebCore::CSSFontFaceSource::pruneTable): Changed to call retireCustomFont() instead of deleting
3250         retired font data.
3251         * css/CSSFontSelector.cpp:
3252         (WebCore::CSSFontSelector::retireCustomFont): Added. Calls through to the Document, if this is
3253         still the active font selector for a document. Otherwise, deletes the custom font data.
3254         * css/CSSFontSelector.h:
3255         * css/CSSSegmentedFontFace.cpp:
3256         (WebCore::CSSSegmentedFontFace::pruneTable): Changed to call retireCustomFont() instead of
3257         deleting retired font data.
3258         * dom/Document.cpp:
3259         (WebCore::Document::~Document): Added a call to deleteRetiredCustomFonts(), in case the Document
3260         is destroyed before getting a chance to recalc style after custom fonts have been retired.
3261         (WebCore::Document::recalcStyle): Added a call to deleteRetiredCustomFonts() after style recalc.
3262         (WebCore::Document::deleteRetiredCustomFonts): Added. Deletes all previously-retired custom font
3263         data.
3264         * dom/Document.h:
3265         (WebCore::Document::retireCustomFont): Added.
3266
3267 2011-09-04  Sam Weinig  <sam@webkit.org>
3268
3269         Document.createEvent should support all the interfaces of Event we got
3270         https://bugs.webkit.org/show_bug.cgi?id=67568
3271
3272         Reviewed by Anders Carlsson.
3273
3274         Updated fast/events/event-creation.html
3275
3276         * dom/BeforeLoadEvent.h:
3277         (WebCore::BeforeLoadEvent::create):
3278         (WebCore::BeforeLoadEvent::BeforeLoadEvent):
3279         Added empty create.
3280         
3281         * dom/Document.cpp:
3282         (WebCore::Document::createEvent):
3283         Add missing interfaces.
3284
3285         * dom/HashChangeEvent.h:
3286         (WebCore::HashChangeEvent::create):
3287         (WebCore::HashChangeEvent::HashChangeEvent):
3288         Added empty create.
3289
3290         * page/SpeechInputEvent.cpp:
3291         (WebCore::SpeechInputEvent::create):
3292         (WebCore::SpeechInputEvent::SpeechInputEvent):
3293         (WebCore::SpeechInputEvent::~SpeechInputEvent):
3294         * page/SpeechInputEvent.h:
3295         Added empty create.
3296
3297 2011-09-04  Adam Barth  <abarth@webkit.org>
3298
3299         [Chromium] Add memory threshold values to WebKitPlatformSupport.h
3300         https://bugs.webkit.org/show_bug.cgi?id=67575
3301
3302         Reviewed by Darin Fisher.
3303
3304         Grab these memory thresholds from PlatformSupport rather than hard-coding them.
3305
3306         * bindings/v8/V8GCController.cpp:
3307         (WebCore::V8GCController::checkMemoryUsage):
3308         * platform/chromium/PlatformSupport.h:
3309         * platform/qt/PlatformSupport.h:
3310         (WebCore::PlatformSupport::lowMemoryUsageMB):
3311         (WebCore::PlatformSupport::highMemoryUsageMB):
3312         (WebCore::PlatformSupport::highUsageDeltaMB):
3313
3314 2011-09-04  Kevin Ollivier  <kevino@theolliviers.com>
3315
3316         [wx] Unreviewed build fix. Add new / moved files missing from last commit.
3317
3318         * platform/wx/LocalDC.h: Added.
3319         (WebCore::LocalDC::LocalDC):
3320         (WebCore::LocalDC::context):
3321         (WebCore::LocalDC::~LocalDC):
3322         * platform/wx/wxcode/cairo: Added.
3323         * platform/wx/wxcode/cairo/non-kerned-drawing.cpp: Added.
3324         (WebCore::pangoFontMap):
3325         (WebCore::createPangoFontForFont):
3326         (WebCore::createScaledFontForFont):
3327         (WebCore::pango_font_get_glyph):
3328         (WebCore::drawTextWithSpacing):
3329         * platform/wx/wxcode/gdiplus: Added.
3330         * platform/wx/wxcode/gdiplus/non-kerned-drawing.cpp: Added.
3331         (dmin):
3332         (dmax):
3333         (DegToRad):
3334         (RadToDeg):
3335         (WebCore::drawTextWithSpacing):
3336
3337 2011-09-04  Robin Dunn  <robin@alldunn.com>
3338
3339         [wx] Enable wxWebKit to run using the wxGC Cairo backend on platforms other than GTK.
3340         https://bugs.webkit.org/show_bug.cgi?id=67577
3341
3342         Reviewed by Kevin Ollivier.
3343
3344         * platform/graphics/GlyphBuffer.h:
3345         (WebCore::GlyphBuffer::glyphAt):
3346         (WebCore::GlyphBuffer::add):
3347         * platform/graphics/wx/GraphicsContextWx.cpp:
3348         (WebCore::GraphicsContext::clipOut):
3349         (WebCore::GraphicsContext::clipPath):
3350         * platform/graphics/wx/PathWx.cpp:
3351         (WebCore::Path::Path):
3352         (WebCore::Path::clear):
3353         * platform/graphics/wx/TransformationMatrixWx.cpp:
3354         (WebCore::TransformationMatrix::operator wxGraphicsMatrix):
3355         (WebCore::AffineTransform::operator wxGraphicsMatrix):
3356         * platform/image-decoders/wx/ImageDecoderWx.cpp:
3357         (WebCore::ImageFrame::asNewNativeImage):
3358         * platform/wx/ContextMenuWx.cpp:
3359         (ContextMenu::ContextMenu):
3360         * platform/wx/LocalDC.h: Added.
3361         (WebCore::LocalDC::LocalDC):
3362         (WebCore::LocalDC::context):
3363         (WebCore::LocalDC::~LocalDC):
3364         * platform/wx/RenderThemeWx.cpp:
3365         (WebCore::RenderThemeWx::paintButton):
3366         (WebCore::RenderThemeWx::paintTextField):
3367         (WebCore::RenderThemeWx::paintMenuList):
3368         (WebCore::RenderThemeWx::paintMenuListButton):
3369         * platform/wx/ScrollbarThemeWx.cpp:
3370         (WebCore::ScrollbarThemeWx::paint):
3371         * platform/wx/wxcode/cairo: Added.
3372         * platform/wx/wxcode/cairo/non-kerned-drawing.cpp: Added.
3373         (WebCore::pangoFontMap):
3374         (WebCore::createPangoFontForFont):
3375         (WebCore::createScaledFontForFont):
3376         (WebCore::pango_font_get_glyph):
3377         (WebCore::drawTextWithSpacing):
3378         * platform/wx/wxcode/gdiplus: Added.
3379         * platform/wx/wxcode/gdiplus/non-kerned-drawing.cpp: Added.
3380         (dmin):
3381         (dmax):
3382         (DegToRad):
3383         (RadToDeg):
3384         (WebCore::drawTextWithSpacing):
3385         * platform/wx/wxcode/gtk/non-kerned-drawing.cpp: Removed.
3386         * platform/wx/wxcode/win/non-kerned-drawing.cpp: Removed.
3387         * platform/wx/wxcode/win/scrollbar_render.cpp:
3388         (GraphicsHDC::GraphicsHDC):
3389         (GraphicsHDC::~GraphicsHDC):
3390         (wxRenderer_DrawScrollbar):
3391
3392 2011-09-03  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
3393
3394         REGRESSION (r86268): Fix for qt_networkAccessAllowed()
3395         https://bugs.webkit.org/show_bug.cgi?id=67570
3396
3397         Reviewed by Noam Rosenthal.
3398
3399         No new tests as this change only removes dead code.
3400         Support for Qt 4.6 has  been removed a while back.
3401
3402         * WebCore.pri:
3403         * WebCore.pro:
3404         * features.pri:
3405         * platform/network/NetworkStateNotifier.h:
3406         * platform/network/qt/NetworkStateNotifierQt.cpp:
3407
3408 2011-09-03  Ryosuke Niwa  <rniwa@webkit.org>
3409
3410         REGRESSION(r94274): selection-change-closes-typing.html fails
3411         https://bugs.webkit.org/show_bug.cgi?id=67377
3412
3413         Reviewed by Kent Tamura.
3414
3415         The problem was that when the shadow DOM is updated by setInnerTextValue, WebKit layer detects the selection
3416         change and calls confirmCompositionWithoutDisturbingSelection, which in turn modifies the shadow DOM by
3417         inserting text.
3418
3419         Fixed the bug by not inserting text in confirmCompositionWithoutDisturbingSelection. It turned out that this
3420         function is only used to cancel composition but never to confirming composition and restoring selection.
3421
3422         Test: platform/mac/editing/input/selection-change-closes-typing-2.html
3423
3424         * editing/Editor.cpp:
3425         (WebCore::Editor::confirmCompositionWithoutDisturbingSelection):
3426         (WebCore::Editor::confirmComposition):
3427
3428 2011-09-03  Sam Weinig  <sam@webkit.org>
3429
3430         Add missing Event constructors to DOMWindow.idl
3431         https://bugs.webkit.org/show_bug.cgi?id=67449
3432
3433         Reviewed by Anders Carlsson.
3434
3435         Covered by existing tests.
3436
3437         * page/DOMWindow.idl:
3438
3439 2011-08-27  Robert Hogan  <robert@webkit.org>
3440
3441         div align="center" rendering problem
3442         https://bugs.webkit.org/show_bug.cgi?id=4860