REGRESSION (r142549): Remove web intents code
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-02-11  KwangYong Choi  <ky0.choi@samsung.com>
2
3         REGRESSION (r142549): Remove web intents code
4         https://bugs.webkit.org/show_bug.cgi?id=109532
5
6         Reviewed by Nico Weber.
7
8         Remove remaning code related to web intents.
9
10         No new tests, no change on behavior.
11
12         * UseJSC.cmake:
13         * bindings/js/JSIntentConstructor.cpp: Removed.
14
15 2013-02-11  Kenneth Russell  <kbr@google.com>
16
17         Add temporary typedef to ANGLEWebKitBridge to support incompatible API upgrade
18         https://bugs.webkit.org/show_bug.cgi?id=109127
19
20         Reviewed by Dean Jackson.
21
22         No new tests. Built and tested WebKit and Chromium with this change.
23
24         * platform/graphics/ANGLEWebKitBridge.cpp:
25         (WebCore):
26             Define temporary typedef spanning int -> size_t change.
27         (WebCore::getValidationResultValue):
28         (WebCore::getSymbolInfo):
29             Use temporary typedef.
30
31 2013-02-11  Kentaro Hara  <haraken@chromium.org>
32
33         [V8] ScheduledAction::m_context can be empty, so we shouldn't
34         retrieve an Isolate by using m_context->GetIsolate()
35         https://bugs.webkit.org/show_bug.cgi?id=109523
36
37         Reviewed by Adam Barth.
38
39         Chromium bug: https://code.google.com/p/chromium/issues/detail?id=175307#makechanges
40
41         Currently ScheduledAction is retrieving an Isolate by using m_context->GetIsolate().
42         This can crash because ScheduledAction::m_context can be empty. Specifically,
43         ScheduledAction::m_context is set to ScriptController::currentWorldContext(),
44         which can return an empty handle when a frame does not exist. In addition,
45         'if(context.IsEmpty())' in ScheduledAction.cpp implies that it can be empty.
46
47         Alternately, we should pass an Isolate explicitly when a ScheduledAction is instantiated.
48
49         No tests. The Chromium crash report doesn't provide enough information
50         to reproduce the bug.
51
52         * bindings/v8/ScheduledAction.cpp:
53         (WebCore::ScheduledAction::ScheduledAction):
54         (WebCore):
55         (WebCore::ScheduledAction::~ScheduledAction):
56         * bindings/v8/ScheduledAction.h:
57         (ScheduledAction):
58         * bindings/v8/custom/V8DOMWindowCustom.cpp:
59         (WebCore::WindowSetTimeoutImpl):
60         * bindings/v8/custom/V8WorkerContextCustom.cpp:
61         (WebCore::SetTimeoutOrInterval):
62
63 2013-02-11  Adenilson Cavalcanti  <cavalcantii@gmail.com>
64
65         Build fix: r142549 broke EFL build
66         https://bugs.webkit.org/show_bug.cgi?id=109527
67
68         Reviewed by Kentaro Hara.
69
70         No new tests, no change on behavior.
71
72         * CMakeLists.txt:
73
74 2013-02-11  Simon Fraser  <simon.fraser@apple.com>
75
76         REGRESSION (r142520?): Space no longer scrolls the page
77         https://bugs.webkit.org/show_bug.cgi?id=109526
78
79         Reviewed by Tim Horton.
80
81         ScrollingTree::updateTreeFromStateNode() used to bail early when it had
82         no children (no fixed or sticky elements), but that left updateAfterChildren()
83         uncalled. Fix by always calling updateAfterChildren(), which updates the scroll
84         position.
85
86         * page/scrolling/ScrollingTree.cpp:
87         (WebCore::ScrollingTree::updateTreeFromStateNode):
88
89 2013-02-11  Tim Horton  <timothy_horton@apple.com>
90
91         Remove extra early-return in FrameView::setScrollPosition
92
93         Rubber-stamped by Simon Fraser.
94
95         * page/FrameView.cpp:
96         (WebCore::FrameView::setScrollPosition):
97
98 2013-02-11  Arko Saha  <arko@motorola.com>
99
100         [Microdata] Fix crash after r141034 in chromuim port
101         https://bugs.webkit.org/show_bug.cgi?id=109514
102
103         Reviewed by Ryosuke Niwa.
104
105         Added V8SkipVTableValidation extended attribute to skip
106         VTable validation check for DOMSettableTokenList interface.
107
108         This patch fixes below test failures:
109         Tests: fast/dom/MicroData/domsettabletokenlist-attributes-add-token.html
110                fast/dom/MicroData/domsettabletokenlist-attributes-out-of-range-index.html
111                fast/dom/MicroData/element-with-empty-itemprop.html
112                fast/dom/MicroData/itemprop-add-remove-tokens.html
113                fast/dom/MicroData/itemprop-for-an-element-must-be-correct.html
114                fast/dom/MicroData/itemprop-must-be-read-only.html
115                fast/dom/MicroData/itemprop-reflected-by-itemProp-property.html
116                fast/dom/MicroData/itemref-add-remove-tokens.html
117                fast/dom/MicroData/itemref-attribute-reflected-by-itemRef-property.html
118                fast/dom/MicroData/itemref-for-an-element-must-be-correct.html
119                fast/dom/MicroData/itemref-must-be-read-only.html
120                fast/dom/MicroData/itemtype-add-remove-tokens.html
121                fast/dom/MicroData/itemtype-attribute-test.html
122                fast/dom/MicroData/microdata-domtokenlist-attribute-add-remove-tokens.html
123                fast/dom/MicroData/properties-collection-namedgetter-with-invalid-name.html
124                fast/dom/MicroData/propertynodelist-add-remove-itemprop-tokens.html
125                fast/dom/MicroData/propertynodelist-add-remove-itemref-tokens.html
126
127         * html/DOMSettableTokenList.idl:
128
129 2013-02-11  Adam Barth  <abarth@webkit.org>
130
131         Load event fires too early with threaded HTML parser (take 2)
132         https://bugs.webkit.org/show_bug.cgi?id=109485
133
134         Reviewed by Eric Seidel.
135
136         This patch restores the code that was removed in
137         http://trac.webkit.org/changeset/142492 and adds code to
138         DocumentLoader.cpp to avoid the regression.
139
140         * dom/Document.cpp:
141         (WebCore::Document::hasActiveParser):
142         (WebCore::Document::decrementActiveParserCount):
143         * loader/DocumentLoader.cpp:
144         (WebCore::DocumentLoader::isLoadingInAPISense):
145
146 2013-02-11  Eric Seidel  <eric@webkit.org>
147
148         Fold HTMLTokenizerState back into HTMLTokenizer now that MarkupTokenizerBase is RFG
149         https://bugs.webkit.org/show_bug.cgi?id=109502
150
151         Reviewed by Tony Gentilcore.
152
153         Just a search replace of HTMLTokenizerState with HTMLTokenizer and moving the enum.
154         This restores us to the peacefull world pre-NEW_XML.
155
156         * html/parser/BackgroundHTMLParser.cpp:
157         (WebCore::BackgroundHTMLParser::forcePlaintextForTextDocument):
158         (WebCore::BackgroundHTMLParser::simulateTreeBuilder):
159         * html/parser/HTMLDocumentParser.cpp:
160         (WebCore::tokenizerStateForContextElement):
161         (WebCore::HTMLDocumentParser::forcePlaintextForTextDocument):
162         (WebCore::HTMLDocumentParser::pumpTokenizer):
163         * html/parser/HTMLTokenizer.cpp:
164         (WebCore::isEndTagBufferingState):
165         (WebCore):
166         (WebCore::HTMLTokenizer::reset):
167         (WebCore::HTMLTokenizer::flushEmitAndResumeIn):
168         (WebCore::HTMLTokenizer::nextToken):
169         (WebCore::HTMLTokenizer::updateStateFor):
170         * html/parser/HTMLTokenizer.h:
171         (HTMLTokenizer):
172         (WebCore::HTMLTokenizer::create):
173         (WebCore::HTMLTokenizer::shouldSkipNullCharacters):
174         (WebCore::HTMLTokenizer::emitEndOfFile):
175         * html/parser/HTMLTreeBuilder.cpp:
176         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
177         (WebCore::HTMLTreeBuilder::processEndTag):
178         (WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag):
179         (WebCore::HTMLTreeBuilder::processGenericRawTextStartTag):
180         (WebCore::HTMLTreeBuilder::processScriptStartTag):
181         * html/parser/TextViewSourceParser.cpp:
182         (WebCore::TextViewSourceParser::TextViewSourceParser):
183
184 2013-02-11  Kentaro Hara  <haraken@chromium.org>
185
186         Build fix after r142528
187         https://bugs.webkit.org/show_bug.cgi?id=109520
188
189         Reviewed by Eric Seidel.
190
191         r142528 changed GIFImageReader from a struct to a class.
192         We also need to fix a forward declaration.
193
194         No tests.
195
196         * platform/image-decoders/gif/GIFImageDecoder.h:
197
198 2013-02-11  Nico Weber  <thakis@chromium.org>
199
200         Remove web intents code
201         https://bugs.webkit.org/show_bug.cgi?id=109501
202
203         Reviewed by Eric Seidel.
204
205         See thread "Removing ENABLE(WEB_INTENTS) code" on webkit-dev.
206
207         * DerivedSources.make:
208         * Modules/intents/DOMWindowIntents.cpp: Removed.
209         * Modules/intents/DOMWindowIntents.h: Removed.
210         * Modules/intents/DOMWindowIntents.idl: Removed.
211         * Modules/intents/DeliveredIntent.cpp: Removed.
212         * Modules/intents/DeliveredIntent.h: Removed.
213         * Modules/intents/DeliveredIntent.idl: Removed.
214         * Modules/intents/Intent.cpp: Removed.
215         * Modules/intents/Intent.h: Removed.
216         * Modules/intents/Intent.idl: Removed.
217         * Modules/intents/IntentRequest.cpp: Removed.
218         * Modules/intents/IntentRequest.h: Removed.
219         * Modules/intents/IntentResultCallback.h: Removed.
220         * Modules/intents/IntentResultCallback.idl: Removed.
221         * Modules/intents/NavigatorIntents.cpp: Removed.
222         * Modules/intents/NavigatorIntents.h: Removed.
223         * Modules/intents/NavigatorIntents.idl: Removed.
224         * WebCore.gyp/WebCore.gyp:
225         * WebCore.gypi:
226         * bindings/generic/RuntimeEnabledFeatures.cpp:
227         (WebCore):
228         * bindings/generic/RuntimeEnabledFeatures.h:
229         (RuntimeEnabledFeatures):
230         * bindings/v8/custom/V8IntentCustom.cpp: Removed.
231         * html/HTMLElementsAllInOne.cpp:
232         * html/HTMLIntentElement.cpp: Removed.
233         * html/HTMLIntentElement.h: Removed.
234         * html/HTMLIntentElement.idl: Removed.
235         * loader/EmptyClients.cpp:
236         * loader/EmptyClients.h:
237         (EmptyFrameLoaderClient):
238         * loader/FrameLoaderClient.h:
239         (WebCore):
240         * page/DOMWindow.idl:
241
242 2013-02-11  Eric Seidel  <eric@webkit.org>
243
244         Fix Mac build after http://trac.webkit.org/changeset/142535.
245
246         Unreviewed build fix.
247
248         * html/parser/HTMLTokenizer.h:
249         (WebCore::HTMLTokenizer::emitAndReconsumeIn):
250
251 2013-02-11  David Farler  <dfarler@apple.com>
252
253         Make WebCore Derived Sources work with SDK identifiers too
254         https://bugs.webkit.org/show_bug.cgi?id=109324
255
256         Reviewed by Sam Weinig.
257
258         * WebCore.xcodeproj/project.pbxproj: Pass SDKROOT to make for DerivedSources.make
259
260 2013-02-11  Zhenyao Mo  <zmo@google.com>
261
262         WEBGL_compressed_texture_s3tc extension can be enabled even when not supported
263         https://bugs.webkit.org/show_bug.cgi?id=109508
264
265         Reviewed by Kenneth Russell.
266
267         * html/canvas/WebGLRenderingContext.cpp:
268         (WebCore):
269         (WebCore::WebGLRenderingContext::getExtension): Check whether the extension support is there before returning the extension pointer.
270
271 2013-02-11  Emil A Eklund  <eae@chromium.org>
272
273         Change RenderFrameSet::paint to use m-rows/m_cols directly.
274         https://bugs.webkit.org/show_bug.cgi?id=108503
275
276         Reviewed by Eric Seidel.
277
278         Test: fast/frames/invalid-frameset.html
279
280         * rendering/RenderFrameSet.cpp:
281         (WebCore::RenderFrameSet::paint):
282
283 2013-02-11  Yong Li  <yoli@rim.com>
284
285         XMLHttpRequestProgressEventThrottle::resume() always schedules timer even when unnecessary
286         https://bugs.webkit.org/show_bug.cgi?id=105348
287
288         Reviewed by Alexey Proskuryakov.
289
290         Let resume() clear the defer flag and return if there is deferred events to dispatch.
291
292         No new tests as this should not affect existing cross-platform behavior. It should be
293         OK as long as it doesn't break anything.
294
295         * xml/XMLHttpRequestProgressEventThrottle.cpp:
296         (WebCore::XMLHttpRequestProgressEventThrottle::resume):
297
298 2013-02-11  Eric Seidel  <eric@webkit.org>
299
300         Fold MarkupTokenizerBase into HTMLTokenizer now that it is the only subclass
301         https://bugs.webkit.org/show_bug.cgi?id=109499
302
303         Reviewed by Adam Barth.
304
305         For great justice.  And sanity.
306         Epic amount of template code deleted.
307
308         * GNUmakefile.list.am:
309         * Target.pri:
310         * WebCore.gypi:
311         * WebCore.vcproj/WebCore.vcproj:
312         * WebCore.vcxproj/WebCore.vcxproj:
313         * WebCore.vcxproj/WebCore.vcxproj.filters:
314         * WebCore.xcodeproj/project.pbxproj:
315         * html/parser/HTMLTokenizer.cpp:
316         (WebCore::HTMLTokenizer::HTMLTokenizer):
317         * html/parser/HTMLTokenizer.h:
318         (HTMLTokenizer):
319         (Checkpoint):
320         (WebCore::HTMLTokenizer::state):
321         (WebCore::HTMLTokenizer::setState):
322         (WebCore::HTMLTokenizer::shouldSkipNullCharacters):
323         (WebCore::HTMLTokenizer::bufferCharacter):
324         (WebCore::HTMLTokenizer::emitAndResumeIn):
325         (WebCore::HTMLTokenizer::emitAndReconsumeIn):
326         (WebCore::HTMLTokenizer::emitEndOfFile):
327         (WebCore::HTMLTokenizer::haveBufferedCharacterToken):
328         * xml/parser/MarkupTokenizerBase.h: Removed.
329
330 2013-02-11  Anton Vayvod  <avayvod@chromium.org>
331
332         [Text Autosizing] Collect narrow descendants and process them separately. Refactoring for
333         a change to follow.
334         https://bugs.webkit.org/show_bug.cgi?id=109054
335
336         Preparational change to combine narrow descendants of the same autosizing cluster into
337         groups by the width difference between the descendant and the block containing all text of
338         the parent autosizing cluster. The groups will be autosized with the same multiplier.
339
340         For example, on sites with a sidebar, sometimes the paragraphs next to the sidebar will have
341         a large margin individually applied (via a CSS selector), causing them all to individually
342         appear narrower than their enclosing blockContainingAllText. Rather than making each of
343         these paragraphs into a separate cluster, we eventually want to be able to merge them back
344         together into one (or a few) descendant clusters.
345
346         Reviewed by Julien Chaffraix.
347
348         No behavioral changes thus no new tests or test changes.
349
350         * rendering/TextAutosizer.cpp:
351         (TextAutosizingClusterInfo): Vector of narrow descendants.
352         (WebCore::TextAutosizer::processCluster): Process narrow descendants separately.
353         (WebCore::TextAutosizer::processContainer):
354
355             Remember narrow descendants of the parent cluster for later processing.
356
357 2013-02-11  Enrica Casucci  <enrica@apple.com>
358
359         Add ENABLE_DELETION_UI to control the use of the deletion UI.
360         https://bugs.webkit.org/show_bug.cgi?id=109463.
361
362         Reviewed by Ryosuke Niwa.
363         
364         This patch adds #if ENABLE(DELETION_UI) in every spot where
365         DeleteButtonController is used. This class is now only instantiated
366         if the feature is enabled. I've also done some cleanup in the
367         DeleteButtonController class, removing unused methods and making
368         private some methods only used internally to the class.
369         Both DeleteButtonController and DeleteButton classes are now excluded
370         from the compilation if the feature is not enabled.
371
372         No new tests, no change of functionality.
373
374         * dom/ContainerNode.cpp:
375         (WebCore::ContainerNode::cloneChildNodes):
376         * editing/CompositeEditCommand.cpp:
377         (WebCore::EditCommandComposition::unapply):
378         (WebCore::EditCommandComposition::reapply):
379         (WebCore::CompositeEditCommand::apply):
380         * editing/DeleteButton.cpp:
381         * editing/DeleteButtonController.cpp:
382         * editing/DeleteButtonController.h: Some cleanup.
383         (WebCore::DeleteButtonController::enabled): Made private.
384         * editing/EditCommand.cpp:
385         (WebCore::EditCommand::EditCommand):
386         * editing/Editor.cpp:
387         (WebCore::Editor::notifyComponentsOnChangedSelection):
388         (WebCore::Editor::Editor):
389         (WebCore::Editor::rangeForPoint):
390         (WebCore::Editor::deviceScaleFactorChanged):
391         * editing/Editor.h:
392         * editing/htmlediting.cpp: avoidIntersectionWithNode is
393         used only if the feature is enabled.
394         * editing/htmlediting.h:
395         * editing/markup.cpp:
396         (WebCore::createMarkup):
397         (WebCore::createFragmentFromNodes):
398         * rendering/RenderTable.cpp: Removed unnecessary include
399         fo DeleteButtonController.h
400
401 2013-02-11  Rafael Weinstein  <rafaelw@chromium.org>
402
403         [HTMLTemplateElement] <template> inside of <head> may not create <body> if EOF is hit
404         https://bugs.webkit.org/show_bug.cgi?id=109338
405
406         Reviewed by Adam Barth.
407
408         This patch adds the logic to clear the stack of open elements back to the first <template> when EOF
409         is hit. This allows a <body> to be generated if the initial <template> was opened inside of <head>.
410
411         Tests added to html5lib.
412
413         * html/parser/HTMLTreeBuilder.cpp:
414         (WebCore):
415         (WebCore::HTMLTreeBuilder::popAllTemplates):
416         (WebCore::HTMLTreeBuilder::processEndTag):
417         (WebCore::HTMLTreeBuilder::processEndOfFile):
418         * html/parser/HTMLTreeBuilder.h:
419         (HTMLTreeBuilder):
420
421 2013-02-11  Andreas Kling  <akling@apple.com>
422
423         RenderText::isAllCollapsibleWhitespace() shouldn't upconvert string to 16-bit.
424         <http://webkit.org/b/109354>
425
426         Reviewed by Eric Seidel.
427
428         254 KB progression on Membuster3.
429
430         * rendering/RenderText.cpp:
431         (WebCore::RenderText::isAllCollapsibleWhitespace):
432
433 2013-02-11  Alpha Lam  <hclam@chromium.org>
434
435         Fix code style violations in GIFImageReader.{cc|h}
436         https://bugs.webkit.org/show_bug.cgi?id=109007
437
438         Reviewed by Stephen White.
439
440         This is just a style clean up for GIFImageReader.{cc|h}.
441
442         There's going to be a lot changes in these two files and style check
443         will add a lot of noise in later reviews. Fix style problems first.
444
445         There is no change in logic at all. Just style fixes.
446
447         No new tests.
448
449         * platform/image-decoders/gif/GIFImageDecoder.cpp:
450         (WebCore::GIFImageDecoder::frameCount):
451         (WebCore::GIFImageDecoder::repetitionCount):
452         (WebCore::GIFImageDecoder::haveDecodedRow):
453         (WebCore::GIFImageDecoder::initFrameBuffer):
454         * platform/image-decoders/gif/GIFImageReader.cpp:
455         (GIFImageReader::outputRow):
456         (GIFImageReader::doLZW):
457         (GIFImageReader::read):
458         * platform/image-decoders/gif/GIFImageReader.h:
459         (GIFFrameContext):
460         (GIFFrameContext::GIFFrameContext):
461         (GIFFrameContext::~GIFFrameContext):
462         (GIFImageReader::GIFImageReader):
463         (GIFImageReader::~GIFImageReader):
464         (GIFImageReader):
465         (GIFImageReader::imagesCount):
466         (GIFImageReader::loopCount):
467         (GIFImageReader::globalColormap):
468         (GIFImageReader::globalColormapSize):
469         (GIFImageReader::frameContext):
470
471 2013-02-11  Bem Jones-Bey  <bjonesbe@adobe.com>
472
473         [CSS Exclusions] Handle shape-outside changing a float's overhang behavior
474         https://bugs.webkit.org/show_bug.cgi?id=106927
475
476         Reviewed by Julien Chaffraix.
477
478         When the position on a shape outside causes a float to spill out into
479         another block than it's container, it was not being drawn correctly. It
480         became apparent that in order to fix this properly, the approach to
481         positioning shape outsides and floats needed to be changed. The new
482         approach also fixes some other outstanding issues, like hit detection.
483
484         When a float has a shape outside, inline and float layout happens
485         using the exclusion shape bounds instead of the float's box.  The
486         effect of this is that the float itself no longer has any effect on
487         layout, both with respect to positioning of the float's siblings as
488         well as positioning the float's box. This means that when the float is
489         positioned, it is the shape's box that must obey the positioning rules
490         for floats. When the shape is given a position relative to the float's
491         box, the rules for float positioning determine where the shape sits
492         in the parent, causing the float's box to be offset by the position of
493         the shape. Since the float's box does not affect layout (due to the
494         shape), this is similar to relative positioning in that the offset is
495         a paint time occurrence.
496
497         So the new approach is to implement positioning of shape outside on
498         floats similar to how relative positioning is implemented, using a
499         RenderLayer.
500
501         This is also tested by the existing tests for shape outside on floats positioning.
502
503         Test: fast/exclusions/shape-outside-floats/shape-outside-floats-overhang.html
504
505         * rendering/ExclusionShapeOutsideInfo.h:
506         (WebCore::ExclusionShapeOutsideInfo::shapeLogicalOffset): Utility method to create a LayoutSize for computing the layer offset.
507         (ExclusionShapeOutsideInfo):
508         * rendering/LayoutState.cpp:
509         (WebCore::LayoutState::LayoutState): Check for floats with shape outside as well as in flow positioning.
510         * rendering/RenderBlock.cpp:
511         (WebCore::RenderBlock::flipFloatForWritingModeForChild): Remove old positioning implementation.
512         (WebCore::RenderBlock::paintFloats): Remove old positioning implementation.
513         (WebCore::RenderBlock::blockSelectionGaps): Check for floats with shape outside as well as in flow positioning.
514         (WebCore::RenderBlock::positionNewFloats): Remove old positioning implementation.
515         (WebCore::RenderBlock::addOverhangingFloats): Remove FIXME.
516         (WebCore::positionForPointRespectingEditingBoundaries): Check for floats with shape outside as well as in flow positioning.
517         * rendering/RenderBlock.h:
518         (RenderBlock): Remove old positioning implementation.
519         (WebCore::RenderBlock::xPositionForFloatIncludingMargin): Remove old positioning implementation.
520         (WebCore::RenderBlock::yPositionForFloatIncludingMargin): Remove old positioning implementation.
521         * rendering/RenderBox.cpp:
522         (WebCore::RenderBox::mapLocalToContainer): Check for floats with shape outside as well as in flow positioning.
523         (WebCore::RenderBox::offsetFromContainer): Check for floats with shape outside as well as in flow positioning.
524         (WebCore::RenderBox::computeRectForRepaint): Check for floats with shape outside as well as in flow positioning.
525         (WebCore::RenderBox::layoutOverflowRectForPropagation): Check for floats with shape outside as well as in flow positioning.
526         * rendering/RenderBox.h: Make floats with shape outside get a layer.
527         * rendering/RenderBoxModelObject.cpp:
528         (WebCore::RenderBoxModelObject::paintOffset): Method to return in flow
529             positioning offset + offset from shape outside on floats.
530         * rendering/RenderBoxModelObject.h:
531         (RenderBoxModelObject): Add paintOffset method.
532         * rendering/RenderInline.cpp:
533         (WebCore::RenderInline::clippedOverflowRectForRepaint): Check for floats with shape outside as well as in flow positioning.
534         (WebCore::RenderInline::computeRectForRepaint): Check for floats with shape outside as well as in flow positioning.
535         (WebCore::RenderInline::mapLocalToContainer): Check for floats with shape outside as well as in flow positioning.
536         * rendering/RenderLayer.cpp:
537         (WebCore::RenderLayer::updateLayerPosition): Check for floats with shape outside as well as in flow positioning.
538         (WebCore::RenderLayer::calculateClipRects): Check for floats with shape outside as well as in flow positioning.
539         * rendering/RenderLayer.h:
540         (WebCore::RenderLayer::paintOffset): Rename offsetForInFlowPosition to reflect that it's not just for
541             in flow positioning, it also reflects shape outside position on floats.
542         (RenderLayer):
543         * rendering/RenderObject.h:
544         (WebCore::RenderObject::hasPaintOffset): Determines if this object is in flow positioined or is a float with shape outside.
545         * rendering/style/RenderStyle.h: Add hasPaintOffset method, analagous to method with same name on RenderObject.
546
547 2013-02-11  Tim Horton  <timothy_horton@apple.com>
548
549         FrameView::setScrollPosition should clamp scroll position before handing it to
550         ScrollingCoordinator instead of depending on ScrollView to do this
551         https://bugs.webkit.org/show_bug.cgi?id=109497
552         <rdar://problem/12631789>
553
554         Reviewed by Simon Fraser.
555
556         Clamp scroll position before handing it to ScrollingCoordinator. Also, like ScrollView does,
557         bail out if we've already scrolled to the clamped scroll position.
558
559         Test: platform/mac-wk2/tiled-drawing/clamp-out-of-bounds-scrolls.html
560
561         * page/FrameView.cpp:
562         (WebCore::FrameView::setScrollPosition):
563
564 2013-02-11  Adam Barth  <abarth@webkit.org>
565
566         The threaded HTML parser should pass all the fast/parser tests
567         https://bugs.webkit.org/show_bug.cgi?id=109486
568
569         Reviewed by Tony Gentilcore.
570
571         This patch fixes the last two test failures in fast/parser, which were
572         crashes caused by not having a tokenizer when document.close() was
573         called. (The tokenizer is created lazily by calls to document.write,
574         which might not happen before document.close).
575
576         fast/parser/document-close-iframe-load.html
577         fast/parser/document-close-nested-iframe-load.html
578
579         In addition, I've added a new test to make sure we flush the tokenizer
580         properly in these cases.
581
582         Test: fast/parser/document-close-iframe-load-partial-entity.html
583
584         * html/parser/HTMLDocumentParser.cpp:
585         (WebCore::HTMLDocumentParser::prepareToStopParsing):
586         (WebCore::HTMLDocumentParser::pumpTokenizer):
587
588 2013-02-11  Bruno de Oliveira Abinader  <bruno.abinader@basyskom.com>
589
590         [texmap] Implement frames-per-second debug counter
591         https://bugs.webkit.org/show_bug.cgi?id=107942
592
593         Reviewed by Noam Rosenthal.
594
595         Adds FPS counter via WEBKIT_SHOW_FPS=<interval> environment variable,
596         where <interval> is the period in seconds (i.e. =1.5) between FPS
597         updates on screen. It is measured by counting
598         CoordinatedGraphicsScene::paintTo* calls and is painted using
599         drawRepaintCounter() after TextureMapperLayer has finished painting its
600         contents.
601
602         Visual debugging feature, no need for new tests.
603
604         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
605         (WebCore::CoordinatedGraphicsScene::CoordinatedGraphicsScene):
606         (WebCore::CoordinatedGraphicsScene::paintToCurrentGLContext):
607         (WebCore::CoordinatedGraphicsScene::paintToGraphicsContext):
608         (WebCore::CoordinatedGraphicsScene::updateFPS):
609         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
610
611 2013-02-11  Eric Seidel  <eric@webkit.org>
612
613         Fold MarkupTokenBase into HTMLToken now that it has no other subclasses
614         https://bugs.webkit.org/show_bug.cgi?id=109483
615
616         Reviewed by Adam Barth.
617
618         This deletes an epic amount of template yuck, as well as removes
619         a vtable !?! from HTMLToken.
620
621         This paves the way for further cleanup of HTMLToken now that we
622         can see the whole object at once.
623         We'll also probably re-create an HTMLToken.cpp again, now that we're
624         free from the chains of template nonsense.
625
626         * GNUmakefile.list.am:
627         * Target.pri:
628         * WebCore.gypi:
629         * WebCore.vcproj/WebCore.vcproj:
630         * WebCore.vcxproj/WebCore.vcxproj:
631         * WebCore.vcxproj/WebCore.vcxproj.filters:
632         * WebCore.xcodeproj/project.pbxproj:
633         * html/parser/HTMLToken.h:
634         (WebCore::findAttributeInVector):
635         (WebCore):
636         (HTMLToken):
637         (Attribute):
638         (Range):
639         (WebCore::HTMLToken::HTMLToken):
640         (WebCore::HTMLToken::clear):
641         (WebCore::HTMLToken::isUninitialized):
642         (WebCore::HTMLToken::type):
643         (WebCore::HTMLToken::makeEndOfFile):
644         (WebCore::HTMLToken::startIndex):
645         (WebCore::HTMLToken::endIndex):
646         (WebCore::HTMLToken::setBaseOffset):
647         (WebCore::HTMLToken::end):
648         (WebCore::HTMLToken::data):
649         (WebCore::HTMLToken::isAll8BitData):
650         (WebCore::HTMLToken::name):
651         (WebCore::HTMLToken::appendToName):
652         (WebCore::HTMLToken::nameString):
653         (WebCore::HTMLToken::selfClosing):
654         (WebCore::HTMLToken::setSelfClosing):
655         (WebCore::HTMLToken::beginStartTag):
656         (WebCore::HTMLToken::beginEndTag):
657         (WebCore::HTMLToken::addNewAttribute):
658         (WebCore::HTMLToken::beginAttributeName):
659         (WebCore::HTMLToken::endAttributeName):
660         (WebCore::HTMLToken::beginAttributeValue):
661         (WebCore::HTMLToken::endAttributeValue):
662         (WebCore::HTMLToken::appendToAttributeName):
663         (WebCore::HTMLToken::appendToAttributeValue):
664         (WebCore::HTMLToken::attributes):
665         (WebCore::HTMLToken::eraseValueOfAttribute):
666         (WebCore::HTMLToken::ensureIsCharacterToken):
667         (WebCore::HTMLToken::characters):
668         (WebCore::HTMLToken::appendToCharacter):
669         (WebCore::HTMLToken::comment):
670         (WebCore::HTMLToken::beginComment):
671         (WebCore::HTMLToken::appendToComment):
672         (WebCore::HTMLToken::eraseCharacters):
673         * html/parser/HTMLTokenTypes.h:
674         * html/parser/XSSAuditor.h:
675         * xml/parser/MarkupTokenBase.h: Removed.
676
677 2013-02-11  Gavin Barraclough  <barraclough@apple.com>
678
679         PluginProcess should quit immediately if idle in response to low-memory notifications
680         https://bugs.webkit.org/show_bug.cgi?id=109103
681         <rdar://problem/12679827>
682
683         Reviewed by Brady Eidson.
684
685         This patch allows a process to set a custom callback for low memory warnings
686         (defaulting to the current behaviour, as implemented in releaseMemory).
687
688         * platform/MemoryPressureHandler.cpp:
689         (WebCore::MemoryPressureHandler::MemoryPressureHandler):
690             - Initialize m_lowMemoryHandler to releaseMemory.
691         (WebCore::MemoryPressureHandler::install):
692         (WebCore::MemoryPressureHandler::uninstall):
693         (WebCore::MemoryPressureHandler::holdOff):
694             - Cleaned up spacing.
695         (WebCore::MemoryPressureHandler::releaseMemory):
696             - Added null implementation for non-Mac builds.
697         * platform/MemoryPressureHandler.h:
698         (WebCore::MemoryPressureHandler::setLowMemoryHandler):
699             - Added method to set m_lowMemoryHandler.
700         * platform/mac/MemoryPressureHandlerMac.mm:
701         (WebCore::MemoryPressureHandler::respondToMemoryPressure):
702             - Changed to call releaseMemory via m_lowMemoryHandler.
703
704 2013-02-11  Simon Fraser  <simon.fraser@apple.com>
705
706         REGRESSION (r133807): Sticky-position review bar on bugzilla review page is jumpy
707         https://bugs.webkit.org/show_bug.cgi?id=104276
708         <rdar://problem/12827187>
709
710         Reviewed by Tim Horton.
711
712         When committing new scrolling tree state, if the root node has a scroll
713         position update, we would handle that before updating the state of child
714         nodes (with possibly new viewport constraints). That would cause incorrect
715         child layer updates.
716         
717         Fix by adding a second 'update' phase that happens after child nodes,
718         and moving the scroll position update into that.
719
720         Scrolling tests only dump the state tree, so cannot test the bug.
721
722         * page/FrameView.cpp:
723         (WebCore::FrameView::setScrollPosition): If the scroll position didn't
724         actually change, don't request a scroll position update from the ScrollingCoordinator.
725         * page/scrolling/ScrollingTree.cpp:
726         (WebCore::ScrollingTree::updateTreeFromStateNode): Keep track of the scrolling node so
727         that we can call updateAfterChildren() on it.
728         * page/scrolling/ScrollingTreeNode.h:
729         (ScrollingTreeNode):
730         (WebCore::ScrollingTreeNode::updateAfterChildren):
731         * page/scrolling/ScrollingTreeScrollingNode.cpp:
732         (WebCore::ScrollingTreeScrollingNode::updateBeforeChildren):
733         * page/scrolling/ScrollingTreeScrollingNode.h:
734         (ScrollingTreeScrollingNode):
735         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
736         (WebCore::ScrollingCoordinatorMac::updateViewportConstrainedNode):
737         In the current bug the scrolling tree was scheduled for commit because of a
738         scroll position request, but if only the viewport constraints change, we also need
739         to commit the tree.
740         * page/scrolling/mac/ScrollingTreeFixedNode.h:
741         (ScrollingTreeFixedNode):
742         * page/scrolling/mac/ScrollingTreeFixedNode.mm:
743         (WebCore::ScrollingTreeFixedNode::updateBeforeChildren):
744         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.h:
745         (ScrollingTreeScrollingNodeMac):
746         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
747         (WebCore::ScrollingTreeScrollingNodeMac::updateBeforeChildren):
748         (WebCore::ScrollingTreeScrollingNodeMac::updateAfterChildren): Move code here
749         that updates things that have to happen after children.
750         * page/scrolling/mac/ScrollingTreeStickyNode.h:
751         (ScrollingTreeStickyNode):
752         * page/scrolling/mac/ScrollingTreeStickyNode.mm:
753         (WebCore::ScrollingTreeStickyNode::updateBeforeChildren):
754
755 2013-02-11  Roger Fong  <roger_fong@apple.com>
756
757         Unreviewed. Build fix for Win7 Release.
758         Because of InspectorAllInOne.cpp static globals must be named differently in files included by InspectorAllInOne.
759         This was the case for UserInitiatedProfileName. Also removed the repeated HeapProfileType definition in
760         InspectorHeapProfilerAgent.cpp since it wasn't being used anyways.
761
762         * inspector/InspectorHeapProfilerAgent.cpp:
763         (WebCore):
764         (WebCore::InspectorHeapProfilerAgent::takeHeapSnapshot):
765
766 2013-02-11  Tony Gentilcore  <tonyg@chromium.org>
767
768         SegmentedString's copy ctor should copy all fields
769         https://bugs.webkit.org/show_bug.cgi?id=109477
770
771         Reviewed by Adam Barth.
772
773         This fixes http/tests/inspector-enabled/document-write.html (and likely others) for the threaded HTML parser.
774
775         No new tests because covered by existing tests.
776
777         * platform/text/SegmentedString.cpp:
778         (WebCore::SegmentedString::SegmentedString):
779
780 2013-02-11  Joshua Bell  <jsbell@chromium.org>
781
782         IndexedDB: database connections don't close after versionchange transaction aborts
783         https://bugs.webkit.org/show_bug.cgi?id=102298
784
785         Reviewed by Tony Chang.
786
787         Per spec, close the database if the "versionchange" transaction aborts.
788
789         Tests: storage/indexeddb/aborted-versionchange-closes.html
790                storage/indexeddb/lazy-index-population.html
791                storage/objectstore-basics.html
792
793         * Modules/indexeddb/IDBTransaction.cpp:
794         (WebCore::IDBTransaction::onAbort): Tell the IDBDatabase (connection) to close if
795         this was a "versionchange" transaction.
796
797 2013-02-11  Christophe Dumez  <ch.dumez@sisa.samsung.com>
798
799         [EFL] fast/forms/number/number-l10n-input.html is failing
800         https://bugs.webkit.org/show_bug.cgi?id=109440
801
802         Reviewed by Laszlo Gombos.
803
804         Use LocaleICU instead of LocaleNone on EFL port. The EFL
805         port already depends on ICU library and we get additional
806         functionality this way.
807
808         No new tests, already covered by existing tests.
809
810         * CMakeLists.txt:
811         * PlatformBlackBerry.cmake:
812         * PlatformEfl.cmake:
813         * PlatformWinCE.cmake:
814
815 2013-02-11  Benjamin Poulain  <benjamin@webkit.org>
816
817         Kill TestRunner::setMinimumTimerInterval; implement the feature with InternalSettings
818         https://bugs.webkit.org/show_bug.cgi?id=109349
819
820         Reviewed by Sam Weinig.
821
822         Expose setMinimumTimerInterval() and implement the backup/restore to keep
823         a consistent state between tests.
824
825         * testing/InternalSettings.cpp:
826         (WebCore::InternalSettings::Backup::Backup):
827         (WebCore::InternalSettings::Backup::restoreTo):
828         (WebCore::InternalSettings::setMinimumTimerInterval):
829         (WebCore):
830         * testing/InternalSettings.h:
831         (Backup):
832         (InternalSettings):
833         * testing/InternalSettings.idl:
834
835 2013-02-11  Dean Jackson  <dino@apple.com>
836
837         Source/WebCore: Snapshotted plug-in should use shadow root
838         https://bugs.webkit.org/show_bug.cgi?id=108284
839
840         Reviewed by Simon Fraser.
841
842         Take three - relanding after rollout in r142400 that was caused by a global
843         selector interfering with CSS Instrumentation in the Inspector.
844
845         A snapshotted plugin needs to indicate to the user that it can be clicked
846         to be restarted. Previously this was done with an image that had embedded
847         text. Instead, we now use an internal shadow root to embed some markup that
848         will display instructions that can be localised.
849
850         The UA stylesheet for plug-ins provides a default styling for the label, which
851         can be overridden by ports.
852
853         In the process, RenderSnapshottedPlugIn no longer inherits from RenderEmbeddedObject,
854         since it is only responsible for drawing a paused plug-in. The snapshot creation
855         can work with the default renderer, but a shadow root requires something like
856         RenderBlock in order to draw its children. We swap from one renderer to another when
857         necessary either by creating the shadow root or by explicitly detaching and attaching
858         the plugin element.
859
860         Unfortunately this is difficult to test, because the snapshotting requires
861         time to execute, and also a PluginView to be instantiated.
862
863         * css/plugIns.css:
864         (object::-webkit-snapshotted-plugin-content): New rules for a default label style.
865
866         * platform/LocalizedStrings.cpp: Make sure all ports have plugin strings, now it is called.
867         * platform/LocalizedStrings.h:
868         * platform/blackberry/LocalizedStringsBlackBerry.cpp:
869         * platform/chromium/LocalizedStringsChromium.cpp:
870         * platform/efl/LocalizedStringsEfl.cpp:
871         * platform/gtk/LocalizedStringsGtk.cpp:
872         * platform/qt/LocalizedStringsQt.cpp:
873
874         * html/HTMLPlugInElement.cpp:
875         (WebCore::HTMLPlugInElement::defaultEventHandler): Take into account the fact
876         that RenderSnapshottedPlugIn no longer is an embedded object.
877
878         * html/HTMLPlugInImageElement.cpp:
879         (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement): New default values in constructor.
880         (WebCore::HTMLPlugInElement::defaultEventHandler): Make sure to call base class.
881         (WebCore::HTMLPlugInElement::willRecalcStyle): No need to reattach if we're a snapshot.
882         (WebCore::HTMLPlugInImageElement::createRenderer): If we're showing a snapshot, create such
883             a renderer, otherwise use the typical plug-in path.
884         (WebCore::HTMLPlugInImageElement::updateSnapshot): Keep a record of the snapshot, since we'll
885             need to give it to the renderer.
886         (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot): Build a subtree that will display a label.
887         * html/HTMLPlugInImageElement.h:
888         (HTMLPlugInImageElement): New member variable to record the snapshot image and whether the label
889             should show immediately.
890         (WebCore::HTMLPlugInImageElement::swapRendererTimerFired): The callback function triggered when we need
891             to swap to the Shadow Root.
892         (WebCore::HTMLPlugInImageElement::userDidClickSnapshot): The user has tapped on the snapshot so the plugin
893             in being recreated. Make sure we reattach so that a plugin renderer will be created.
894         (WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): Make sure we set the right
895             displayState for snapshots.
896         * html/HTMLPlugInImageElement.h:
897         (HTMLPlugInImageElement): The new methods listed above.
898         (WebCore::HTMLPlugInImageElement::setShouldShowSnapshotLabelAutomatically): Indicates whether or not
899             a snapshot should be immediately labeled.
900
901         * page/ChromeClient.h: No need for plugInStartLabelImage any more.
902
903         * rendering/RenderSnapshottedPlugIn.cpp:
904         (WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn): New inheritance.
905         (WebCore::RenderSnapshottedPlugIn::paint): If we're in the background paint phase, render the snapshot image.
906         (WebCore::RenderSnapshottedPlugIn::paintSnapshotImage): Rename.
907         (WebCore::RenderSnapshottedPlugIn::paintSnapshot): Rename.
908         (WebCore::RenderSnapshottedPlugIn::paintSnapshotWithLabel): Rename. No need for label sizes.
909         (WebCore::RenderSnapshottedPlugIn::getCursor):
910         (WebCore::RenderSnapshottedPlugIn::handleEvent): The renderer doesn't restart the plug-in any more. Tell the element and it will do it.
911         * rendering/RenderSnapshottedPlugIn.h:
912         (RenderSnapshottedPlugIn): New inheritance. Some method renaming.
913
914 2013-02-11  Mike West  <mkwst@chromium.org>
915
916         CSP reports for blocked 'data:' URLs should report the scheme only.
917         https://bugs.webkit.org/show_bug.cgi?id=109429
918
919         Reviewed by Adam Barth.
920
921         https://dvcs.w3.org/hg/content-security-policy/rev/001dc8e8bcc3 changed
922         the CSP 1.1 spec to require that blocked URLs that don't refer to
923         generally resolvable schemes (e.g. 'data:', 'javascript:', etc.) be
924         stripped down to their scheme in violation reports.
925
926         Test: http/tests/security/contentSecurityPolicy/report-blocked-data-uri.html
927
928         * page/ContentSecurityPolicy.cpp:
929         (WebCore::ContentSecurityPolicy::reportViolation):
930             If the blocked URL is a web-resolvable scheme, apply the current
931             stripping logic to it, otherwise, strip it to the scheme only.
932         * platform/KURL.h:
933         (KURL):
934             Move KURL::isHierarchical() out into KURL's public API.
935
936 2013-02-11  Simon Fraser  <simon.fraser@apple.com>
937
938         ScrollingTree node maps keep getting larger
939         https://bugs.webkit.org/show_bug.cgi?id=109348
940
941         Reviewed by Sam Weinig.
942
943         When navigating between pages, nodes would get left in the ScrollingTree's
944         node map, and the ScrollingStateTree's node map, so these would get larger
945         and larger as you browse.
946         
947         Simplify map maintenance by clearing the map when setting a new root node
948         (which happens on the first commit of a new page). Also, don't keep root nodes
949         around, but create them afresh for each page, which simplifies their ID
950         management.
951         
952         This is closer to the original behavior; keeping the root nodes around was
953         a fix for bug 99668, but we avoid regressing that fix by bailing early
954         from frameViewLayoutUpdated() if there is no root state node (we'll get
955         called again anyway).
956         
957         This now allows state nodeIDs to be purely read-only.
958
959         * page/scrolling/ScrollingStateNode.h:
960         * page/scrolling/ScrollingStateTree.cpp:
961         (WebCore::ScrollingStateTree::ScrollingStateTree):
962         (WebCore::ScrollingStateTree::attachNode):
963         (WebCore::ScrollingStateTree::clear):
964         (WebCore::ScrollingStateTree::removeNode):
965         * page/scrolling/ScrollingTree.cpp:
966         (WebCore::ScrollingTree::updateTreeFromStateNode):
967         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
968         (WebCore::ScrollingCoordinatorMac::frameViewLayoutUpdated):
969
970 2013-02-11  Simon Fraser  <simon.fraser@apple.com>
971
972         Move m_stateNodeMap from ScrollingCoordinatorMac to ScrollingStateTree
973         https://bugs.webkit.org/show_bug.cgi?id=109361
974
975         Reviewed by Sam Weinig.
976         
977         The map of scrolling node IDs to ScollingStateNodes was maintained by
978         ScrollingCoordinatorMac, rather than ScrollingStateTree. This is different
979         from the ScrollingTree (which owns its node map), and added some amount
980         of to-and-fro between ScrollingStateTree and ScrollingCoordinatorMac.
981         
982         Having ScrollingCoordinatorMac maintain the map of IDs to state nodes
983         simplifies things.
984
985         No behavior change.
986
987         * page/scrolling/ScrollingStateTree.cpp:
988         (WebCore::ScrollingStateTree::attachNode):
989         (WebCore::ScrollingStateTree::detachNode):
990         (WebCore::ScrollingStateTree::clear):
991         (WebCore::ScrollingStateTree::removeNode):
992         (WebCore::ScrollingStateTree::stateNodeForID):
993         * page/scrolling/ScrollingStateTree.h:
994         (ScrollingStateTree): Remove some stale comments.
995         (WebCore::ScrollingStateTree::removedNodes):
996         * page/scrolling/mac/ScrollingCoordinatorMac.h:
997         (ScrollingCoordinatorMac):
998         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
999         (WebCore::ScrollingCoordinatorMac::frameViewLayoutUpdated):
1000         (WebCore::ScrollingCoordinatorMac::recomputeWheelEventHandlerCountForFrameView):
1001         (WebCore::ScrollingCoordinatorMac::frameViewRootLayerDidChange):
1002         (WebCore::ScrollingCoordinatorMac::requestScrollPositionUpdate):
1003         (WebCore::ScrollingCoordinatorMac::attachToStateTree):
1004         (WebCore::ScrollingCoordinatorMac::detachFromStateTree):
1005         (WebCore::ScrollingCoordinatorMac::clearStateTree):
1006         (WebCore::ScrollingCoordinatorMac::updateScrollingNode):
1007         (WebCore::ScrollingCoordinatorMac::updateViewportConstrainedNode):
1008
1009 2013-02-11  Mark Rowe  <mrowe@apple.com>
1010
1011         Build fix.
1012
1013         * platform/mac/PlatformSpeechSynthesizerMac.mm: Fix the case in the include.
1014
1015 2013-02-11  Julien Chaffraix  <jchaffraix@webkit.org>
1016
1017         Regression(r131539): Heap-use-after-free in WebCore::RenderBlock::willBeDestroyed
1018         https://bugs.webkit.org/show_bug.cgi?id=107189
1019
1020         Reviewed by Abhishek Arya.
1021
1022         Test: fast/dynamic/continuation-detach-crash.html
1023
1024         This patch reverts r131539 and the following changes (r132591 and r139664).
1025         This means we redo detaching from the bottom-up which solves the regression.
1026         It fixes the attached test case as we re-attach child nodes before detaching
1027         the parent. It seems wrong to do but this avoid a stale continuation.
1028
1029         * dom/ContainerNode.cpp:
1030         (WebCore::ContainerNode::detach): Detach the children first, then ourself.
1031         * dom/Node.cpp:
1032         (WebCore::Node::detach): Clear the renderer instead of ASSERT'ing.
1033         * rendering/RenderObject.cpp:
1034         (WebCore::RenderObject::willBeDestroyed): Removed the code to clear the associated node's renderer.
1035         (WebCore::RenderObject::destroyAndCleanupAnonymousWrappers):
1036         * rendering/RenderObjectChildList.cpp:
1037         (WebCore::RenderObjectChildList::removeChildNode):
1038         Moved the repainting logic back into removeChildNode from destroyAndCleanupAnonymousWrappers.
1039         (WebCore::RenderObjectChildList::destroyLeftoverChildren): Re-added the code to clear the associated node's
1040         renderer.
1041         * rendering/RenderTextFragment.cpp:
1042         (WebCore::RenderTextFragment::setText): Re-added the code to set the associated node's renderer.
1043
1044         * dom/ContainerNode.cpp:
1045         (WebCore::ContainerNode::detach):
1046         * dom/Node.cpp:
1047         (WebCore::Node::detach):
1048         * rendering/RenderObject.cpp:
1049         (WebCore::RenderObject::willBeDestroyed):
1050         (WebCore::RenderObject::destroyAndCleanupAnonymousWrappers):
1051         * rendering/RenderObjectChildList.cpp:
1052         (WebCore::RenderObjectChildList::destroyLeftoverChildren):
1053         (WebCore::RenderObjectChildList::removeChildNode):
1054         * rendering/RenderTextFragment.cpp:
1055         (WebCore::RenderTextFragment::setText):
1056
1057 2013-02-11  Eric Seidel  <eric@webkit.org>
1058
1059         Make WebVTTTokenizer stop inheriting from MarkupTokenizerBase
1060         https://bugs.webkit.org/show_bug.cgi?id=109411
1061
1062         Reviewed by Adam Barth.
1063
1064         Moved InputStreamPreprocessor into its own header file so it can be
1065         used by both WebVTTTokenizer and HTMLTokenizer.
1066
1067         Also split out kEndOfFileMarker from InputStreamPreprocessor<T> so that
1068         it can be used w/o a specific instantiation of the template class.
1069         This also made it possible to fix three old fixmes about wanting to share
1070         that constant.
1071
1072         Again, separating WebVTT code from Markup* base classes made it simpler
1073         at the cost of a little copy/paste code.  WebVTT tokenization is remarkably
1074         simple compared to HTML.
1075
1076         This will make it immediately possible to pull MarkupTokenizerBase up into
1077         HTMLTokenizer and further simplify the code.
1078
1079         * GNUmakefile.list.am:
1080         * Target.pri:
1081         * WebCore.gypi:
1082         * WebCore.vcproj/WebCore.vcproj:
1083         * WebCore.vcxproj/WebCore.vcxproj:
1084         * WebCore.vcxproj/WebCore.vcxproj.filters:
1085         * WebCore.xcodeproj/project.pbxproj:
1086         * html/parser/BackgroundHTMLParser.cpp:
1087         (WebCore::BackgroundHTMLParser::markEndOfFile):
1088         * html/parser/HTMLInputStream.h:
1089         (WebCore::HTMLInputStream::markEndOfFile):
1090         * html/parser/HTMLTokenizer.cpp:
1091         (WebCore::HTMLTokenizer::nextToken):
1092         * html/parser/InputStreamPreprocessor.h: Added.
1093         (WebCore):
1094         (InputStreamPreprocessor):
1095         (WebCore::InputStreamPreprocessor::InputStreamPreprocessor):
1096         (WebCore::InputStreamPreprocessor::nextInputCharacter):
1097         (WebCore::InputStreamPreprocessor::peek):
1098         (WebCore::InputStreamPreprocessor::advance):
1099         (WebCore::InputStreamPreprocessor::skipNextNewLine):
1100         (WebCore::InputStreamPreprocessor::reset):
1101         (WebCore::InputStreamPreprocessor::shouldTreatNullAsEndOfFileMarker):
1102         * html/track/WebVTTTokenizer.cpp:
1103         (WebCore::WebVTTTokenizer::WebVTTTokenizer):
1104         (WebCore::WebVTTTokenizer::nextToken):
1105         * html/track/WebVTTTokenizer.h:
1106         (WebVTTTokenizer):
1107         (WebCore::WebVTTTokenizer::haveBufferedCharacterToken):
1108         (WebCore::WebVTTTokenizer::bufferCharacter):
1109         (WebCore::WebVTTTokenizer::emitAndResumeIn):
1110         (WebCore::WebVTTTokenizer::emitEndOfFile):
1111         (WebCore::WebVTTTokenizer::shouldSkipNullCharacters):
1112         * xml/parser/MarkupTokenizerBase.h:
1113         (MarkupTokenizerBase):
1114         (WebCore::MarkupTokenizerBase::bufferCharacter):
1115
1116 2013-02-11  Adam Barth  <abarth@webkit.org>
1117
1118         document.write during window.onload can trigger DumpRenderTree to dump the render tree
1119         https://bugs.webkit.org/show_bug.cgi?id=109465
1120
1121         Reviewed by Eric Seidel.
1122
1123         This patch is a partial revert of
1124         http://trac.webkit.org/changeset/142378. It's not safe to call
1125         checkComplete during the load event. We'll need to find another way of
1126         calling checkComplete at the right time.
1127
1128         Test: fast/parser/document-write-during-load.html
1129
1130         * dom/Document.cpp:
1131         (WebCore::Document::decrementActiveParserCount):
1132
1133 2013-02-11  Andrey Kosyakov  <caseq@chromium.org>
1134
1135         Web Inspector: Timeline: invalidate and force locations are same for Layout records caused by style recalculaiton
1136         https://bugs.webkit.org/show_bug.cgi?id=109294
1137
1138         Reviewed by Pavel Feldman.
1139
1140         Use the stack that caused style recalculation as a cause for relayout performed due to
1141         layout invalidation caused by style recalculation.
1142
1143         * inspector/front-end/TimelinePresentationModel.js:
1144         (WebInspector.TimelinePresentationModel.prototype.reset):
1145         (WebInspector.TimelinePresentationModel.Record):
1146
1147 2013-02-01  Andrey Kosyakov  <caseq@chromium.org>
1148
1149         Web Inspector: [Extension API] adjust inspectedWindow.eval() callback parameters to expose non-exceptional error
1150         https://bugs.webkit.org/show_bug.cgi?id=108640
1151
1152         Reviewed by Vsevolod Vlasov.
1153
1154         - only set first parameter to eval() callback iff expression successfully evaluates;
1155         - use object, not bool as second parameter;
1156         - pass exceptions and extension errors as second parameter if evaluate failed;
1157         - minor drive-by changes in ExtensionAPI utilities.
1158
1159         * inspector/front-end/ExtensionAPI.js:
1160         (injectedExtensionAPI.ExtensionSidebarPaneImpl.prototype.setExpression):
1161         (injectedExtensionAPI.InspectedWindow.prototype.):
1162         (injectedExtensionAPI.InspectedWindow.prototype.eval):
1163         (injectedExtensionAPI.extractCallbackArgument):
1164         * inspector/front-end/ExtensionServer.js:
1165         (WebInspector.ExtensionServer.prototype.):
1166         (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
1167         (WebInspector.ExtensionStatus):
1168
1169 2013-02-11  Andrey Kosyakov  <caseq@chromium.org>
1170
1171         Web Inspector: [Extensions API] expose ExtensionServerClient to tests so tests use same port as extensions API
1172         https://bugs.webkit.org/show_bug.cgi?id=109443
1173
1174         Reviewed by Vsevolod Vlasov.
1175
1176         Promote extensionServer var to the outer closure, so it may be accessed by platform-specific (or test) code.
1177
1178         * inspector/front-end/ExtensionAPI.js:
1179         (buildExtensionAPIInjectedScript):
1180
1181 2013-02-11  Eric Seidel  <eric@webkit.org>
1182
1183         Move WebVTTToken off of MarkupTokenBase
1184         https://bugs.webkit.org/show_bug.cgi?id=109410
1185
1186         Reviewed by Tony Gentilcore.
1187
1188         This introduces a small amount of "copy/paste" code
1189         but actually makes WebVTTToken much smaller and simpler!
1190         This also frees the HTMLParser to have its Token class
1191         back to itself so we can tune it to make HTML faster.
1192
1193         * html/track/WebVTTToken.h:
1194         (WebVTTToken):
1195         (WebCore::WebVTTToken::WebVTTToken):
1196         (WebCore::WebVTTToken::appendToName):
1197         (WebCore::WebVTTToken::type):
1198         (WebCore::WebVTTToken::name):
1199         (WebCore::WebVTTToken::ensureIsCharacterToken):
1200         (WebCore::WebVTTToken::appendToCharacter):
1201         (WebCore::WebVTTToken::beginEmptyStartTag):
1202         (WebCore::WebVTTToken::beginStartTag):
1203         (WebCore::WebVTTToken::beginEndTag):
1204         (WebCore::WebVTTToken::beginTimestampTag):
1205         (WebCore::WebVTTToken::makeEndOfFile):
1206         (WebCore::WebVTTToken::clear):
1207
1208 2013-02-11  Joshua Bell  <jsbell@chromium.org>
1209
1210         [V8] IndexedDB: Minor GC can collect IDBDatabase wrapper with versionchange handler
1211         https://bugs.webkit.org/show_bug.cgi?id=108670
1212
1213         Reviewed by Kentaro Hara.
1214
1215         Prevent IDBDatabase's wrapper from being GC'd while the database is open if it has
1216         listeners, as those listeners may close the database in response to events.
1217
1218         Also, removed extraneous super-calls from hasPendingActivity() overrides.
1219
1220         Test: storage/indexeddb/database-wrapper.html
1221
1222         * Modules/indexeddb/IDBDatabase.cpp:
1223         (WebCore::IDBDatabase::hasPendingActivity): Implemented.
1224         * Modules/indexeddb/IDBDatabase.h: Declared.
1225         * Modules/indexeddb/IDBRequest.cpp:
1226         (WebCore::IDBRequest::hasPendingActivity): Simplified.
1227         * Modules/indexeddb/IDBTransaction.cpp:
1228         (WebCore::IDBTransaction::hasPendingActivity): Simplified.
1229
1230 2013-02-11  Eric Seidel  <eric@webkit.org>
1231
1232         Remove AttributeBase now that NEW_XML is gone
1233         https://bugs.webkit.org/show_bug.cgi?id=109408
1234
1235         Reviewed by Adam Barth.
1236
1237         Just deleting code.  HTMLToken::Attribute is now just
1238         the real class and not a typedef.
1239
1240         * html/parser/CompactHTMLToken.cpp:
1241         (WebCore::CompactHTMLToken::CompactHTMLToken):
1242         * html/parser/HTMLTokenizer.cpp:
1243         (WebCore::AtomicHTMLToken::nameForAttribute):
1244         * xml/parser/MarkupTokenBase.h:
1245         (WebCore):
1246         (MarkupTokenBase):
1247         (Attribute):
1248         (Range):
1249
1250 2013-02-11  Eric Seidel  <eric@webkit.org>
1251
1252         Rename PreloadTask to StartTagScanner to match its purpose
1253         https://bugs.webkit.org/show_bug.cgi?id=109406
1254
1255         Reviewed by Sam Weinig.
1256
1257         As discussed in bug 107807.
1258
1259         * html/parser/HTMLPreloadScanner.cpp:
1260         (WebCore::StartTagScanner::StartTagScanner):
1261         (WebCore::StartTagScanner::processAttributes):
1262         (WebCore::HTMLPreloadScanner::processToken):
1263
1264 2013-02-11  Vsevolod Vlasov  <vsevik@chromium.org>
1265
1266         Web Inspector: WebInspector.Project refactorings.
1267         https://bugs.webkit.org/show_bug.cgi?id=109433
1268
1269         Reviewed by Alexander Pavlov.
1270
1271         This change prepares Workspace and Project to migration to project-per-domain mode for network based projects.
1272         Renamed WebInspector.WorkspaceProvider to WebInspector.ProjectDelegate.
1273         Renamed Project.name() to Project.id() and delegated it to project delegate.
1274         Added Project.displayName() method that is delegated to project delegate.
1275         SimpleWorkspaceProvider is now responsible for creation of SimpleWorkspaceDelegates and
1276         isolates various mappings from Project/ProjectDelegate concept.
1277         UISourceCode is now created based on path in the project.
1278         UISourceCode uri is now calculated based on project and path (right now uri is equal to path).
1279
1280         * WebCore.gypi:
1281         * WebCore.vcproj/WebCore.vcproj:
1282         * inspector/compile-front-end.py:
1283         * inspector/front-end/FileSystemProjectDelegate.js: Renamed from Source/WebCore/inspector/front-end/FileSystemWorkspaceProvider.js.
1284         (WebInspector.FileSystemProjectDelegate):
1285         (WebInspector.FileSystemProjectDelegate.prototype.id):
1286         (WebInspector.FileSystemProjectDelegate.prototype.type):
1287         (WebInspector.FileSystemProjectDelegate.prototype.displayName):
1288         (WebInspector.FileSystemProjectDelegate.prototype.innerCallback):
1289         (WebInspector.FileSystemProjectDelegate.prototype.requestFileContent):
1290         (WebInspector.FileSystemProjectDelegate.prototype.setFileContent):
1291         (WebInspector.FileSystemProjectDelegate.prototype.contentCallback):
1292         (WebInspector.FileSystemProjectDelegate.prototype.searchInFileContent):
1293         (WebInspector.FileSystemProjectDelegate.prototype._contentTypeForPath):
1294         (WebInspector.FileSystemProjectDelegate.prototype._populate.filesLoaded):
1295         (WebInspector.FileSystemProjectDelegate.prototype._populate):
1296         (WebInspector.FileSystemProjectDelegate.prototype._addFile):
1297         (WebInspector.FileSystemProjectDelegate.prototype._removeFile):
1298         (WebInspector.FileSystemProjectDelegate.prototype.reset):
1299         (WebInspector.FileSystemUtils):
1300         (WebInspector.FileSystemUtils.errorHandler):
1301         (WebInspector.FileSystemUtils.requestFileSystem):
1302         (.fileSystemLoaded):
1303         (.innerCallback):
1304         (WebInspector.FileSystemUtils.requestFilesRecursive):
1305         (.fileEntryLoaded):
1306         (.fileLoaded):
1307         (.readerLoadEnd):
1308         (WebInspector.FileSystemUtils.requestFileContent):
1309         (.fileWriterCreated.fileTruncated):
1310         (.fileWriterCreated):
1311         (.writerEnd):
1312         (WebInspector.FileSystemUtils.setFileContent):
1313         (WebInspector.FileSystemUtils._getDirectory):
1314         (.toArray):
1315         (WebInspector.FileSystemUtils._readDirectory):
1316         (WebInspector.FileSystemUtils._requestEntries):
1317         * inspector/front-end/IsolatedFileSystemModel.js:
1318         (WebInspector.IsolatedFileSystemModel.prototype._innerAddFileSystem):
1319         * inspector/front-end/SimpleWorkspaceProvider.js:
1320         (WebInspector.SimpleProjectDelegate):
1321         (WebInspector.SimpleProjectDelegate.prototype.id):
1322         (WebInspector.SimpleProjectDelegate.prototype.displayName):
1323         (WebInspector.SimpleProjectDelegate.prototype.requestFileContent):
1324         (WebInspector.SimpleProjectDelegate.prototype.setFileContent):
1325         (WebInspector.SimpleProjectDelegate.prototype.searchInFileContent):
1326         (WebInspector.SimpleProjectDelegate.prototype.addFile):
1327         (WebInspector.SimpleProjectDelegate.prototype._uniquePath):
1328         (WebInspector.SimpleProjectDelegate.prototype.removeFile):
1329         (WebInspector.SimpleProjectDelegate.prototype.reset):
1330         (WebInspector.SimpleWorkspaceProvider):
1331         (WebInspector.SimpleWorkspaceProvider.uriForURL):
1332         (WebInspector.SimpleWorkspaceProvider.prototype.addFileForURL):
1333         (WebInspector.SimpleWorkspaceProvider.prototype.addUniqueFileForURL):
1334         (WebInspector.SimpleWorkspaceProvider.prototype._innerAddFileForURL):
1335         (WebInspector.SimpleWorkspaceProvider.prototype.removeFile):
1336         (WebInspector.SimpleWorkspaceProvider.prototype.reset):
1337         * inspector/front-end/UISourceCode.js:
1338         (WebInspector.UISourceCode):
1339         (WebInspector.UISourceCode.prototype.path):
1340         (WebInspector.UISourceCode.prototype.uri):
1341         * inspector/front-end/WebKit.qrc:
1342         * inspector/front-end/Workspace.js:
1343         (WebInspector.FileDescriptor):
1344         (WebInspector.ProjectDelegate):
1345         (WebInspector.ProjectDelegate.prototype.id):
1346         (WebInspector.ProjectDelegate.prototype.displayName):
1347         (WebInspector.ProjectDelegate.prototype.requestFileContent):
1348         (WebInspector.ProjectDelegate.prototype.setFileContent):
1349         (WebInspector.ProjectDelegate.prototype.searchInFileContent):
1350         (WebInspector.Project):
1351         (WebInspector.Project.prototype.id):
1352         (WebInspector.Project.prototype.type):
1353         (WebInspector.Project.prototype.displayName):
1354         (WebInspector.Project.prototype.isServiceProject):
1355         (WebInspector.Project.prototype._fileAdded):
1356         (WebInspector.Project.prototype._fileRemoved):
1357         (WebInspector.Project.prototype._reset):
1358         (WebInspector.Project.prototype.uiSourceCode):
1359         (WebInspector.Project.prototype.uiSourceCodeForOriginURL):
1360         (WebInspector.Project.prototype.uiSourceCodeForURI):
1361         (WebInspector.Project.prototype.uiSourceCodes):
1362         (WebInspector.Project.prototype.requestFileContent):
1363         (WebInspector.Project.prototype.setFileContent):
1364         (WebInspector.Project.prototype.searchInFileContent):
1365         (WebInspector.Project.prototype.dispose):
1366         (WebInspector.Workspace.prototype.uiSourceCode):
1367         (WebInspector.Workspace.prototype.uiSourceCodeForURI):
1368         (WebInspector.Workspace.prototype.addProject):
1369         (WebInspector.Workspace.prototype.removeProject):
1370         (WebInspector.Workspace.prototype.project):
1371         (WebInspector.Workspace.prototype.uiSourceCodes):
1372         (WebInspector.Workspace.prototype.projectForUISourceCode):
1373         * inspector/front-end/inspector.html:
1374
1375 2013-02-11  Yury Semikhatsky  <yurys@chromium.org>
1376
1377         Web Inspector: fix closure compiler warnings in the profiler code
1378         https://bugs.webkit.org/show_bug.cgi?id=109432
1379
1380         Reviewed by Pavel Feldman.
1381
1382         Updated type annotations to match the code.
1383
1384         * inspector/front-end/NativeMemorySnapshotView.js:
1385         * inspector/front-end/ProfilesPanel.js:
1386
1387 2013-02-11  Alexander Shalamov  <alexander.shalamov@intel.com>
1388
1389         [QT] Regression (r142444): Broke qt linux minimal build
1390         https://bugs.webkit.org/show_bug.cgi?id=109423
1391
1392         Reviewed by Kenneth Rohde Christiansen.
1393
1394         Test: cssom/cssvalue-comparison.html
1395
1396         * css/CSSValue.cpp:
1397         (WebCore::CSSValue::equals):
1398
1399 2013-02-11  Andrey Lushnikov  <lushnikov@chromium.org>
1400
1401         Web Inspector: introduce WebInspector.TextUtils
1402         https://bugs.webkit.org/show_bug.cgi?id=109289
1403
1404         Reviewed by Pavel Feldman.
1405
1406         Add new WebInspector.TextUtils file and extract commonly used
1407         text-operation subroutines from DefaultTextEditor into it.
1408
1409         No new tests: no change in behaviour.
1410
1411         * WebCore.gypi:
1412         * WebCore.vcproj/WebCore.vcproj:
1413         * inspector/compile-front-end.py:
1414         * inspector/front-end/DefaultTextEditor.js:
1415         (WebInspector.TextEditorMainPanel.TokenHighlighter.prototype._isWord):
1416         (WebInspector.DefaultTextEditor.WordMovementController.prototype._rangeForCtrlArrowMove):
1417         (WebInspector.TextEditorMainPanel.BraceHighlightController.prototype.handleSelectionChange):
1418         * inspector/front-end/TextUtils.js: Added.
1419         (WebInspector.TextUtils.isStopChar):
1420         (WebInspector.TextUtils.isWordChar):
1421         (WebInspector.TextUtils.isSpaceChar):
1422         (WebInspector.TextUtils.isWord):
1423         (WebInspector.TextUtils.isBraceChar):
1424         * inspector/front-end/WebKit.qrc:
1425         * inspector/front-end/inspector.html:
1426
1427 2013-02-11  Zan Dobersek  <zdobersek@igalia.com>
1428
1429         [GTK][Clang] Build errors in LocalizedStringsGtk.cpp
1430         https://bugs.webkit.org/show_bug.cgi?id=109418
1431
1432         Reviewed by Philippe Normand.
1433
1434         Use the C++ isfinite(float) and abs(float) (instead of fabsf(float))
1435         methods by including the WTF MathExtras.h header. Use a static cast to
1436         an integer type on the float return value of the abs(float) method call
1437         instead of the C-style cast.
1438
1439         No new tests - no new functiolnality.
1440
1441         * platform/gtk/LocalizedStringsGtk.cpp:
1442         (WebCore::localizedMediaTimeDescription):
1443
1444 2013-02-11  Zan Dobersek  <zdobersek@igalia.com>
1445
1446         Unreviewed build fix for the WTFURL backend of KURL.
1447
1448         * platform/KURL.cpp:
1449         (WebCore::KURL::isSafeToSendToAnotherThread): m_urlImpl is of RefPtr type so use
1450         the appropriate operator on it when calling the isSafeToSendToAnotherThread method.
1451
1452 2013-02-11  Mike West  <mkwst@chromium.org>
1453
1454         Range::collapsed callers should explicitly ASSERT_NO_EXCEPTION.
1455         https://bugs.webkit.org/show_bug.cgi?id=108921
1456
1457         Reviewed by Jochen Eisinger.
1458
1459         For clarity and consistency, this patch adjusts Range::collapsed() to
1460         drop the default value of the ExceptionCode parameter it accepts. The
1461         three call sites that called the method with no arguments (all part of
1462         Editor::rangeOfString) will now explicitly ASSERT_NO_EXCEPTION.
1463
1464         * dom/Range.h:
1465         (Range):
1466         * editing/Editor.cpp:
1467         (WebCore::Editor::rangeOfString):
1468
1469 2013-02-11  Alexei Filippov  <alph@chromium.org>
1470
1471         Web Inspector: Split Profiler domain in protocol into Profiler and HeapProfiler
1472         https://bugs.webkit.org/show_bug.cgi?id=108653
1473
1474         Reviewed by Yury Semikhatsky.
1475
1476         Currently CPU and heap profilers share the same domain 'Profiler' in the protocol.
1477         In fact these two profile types have not too much in common. So put each into its own domain.
1478         It should also help when Profiles panel gets split into several tools.
1479         This is the phase 1 which adds InspectorHeapProfilerAgent but doesn't
1480         change the original InspectorProfilerAgent.
1481
1482         * CMakeLists.txt:
1483         * GNUmakefile.list.am:
1484         * Target.pri:
1485         * WebCore.gypi:
1486         * WebCore.vcproj/WebCore.vcproj:
1487         * WebCore.vcxproj/WebCore.vcxproj:
1488         * WebCore.vcxproj/WebCore.vcxproj.filters:
1489         * WebCore.xcodeproj/project.pbxproj:
1490         * inspector/Inspector.json:
1491         * inspector/InspectorAllInOne.cpp:
1492         * inspector/InspectorController.cpp:
1493         (WebCore::InspectorController::InspectorController):
1494         * inspector/InspectorHeapProfilerAgent.cpp: Added.
1495         (WebCore):
1496         (WebCore::InspectorHeapProfilerAgent::create):
1497         (WebCore::InspectorHeapProfilerAgent::InspectorHeapProfilerAgent):
1498         (WebCore::InspectorHeapProfilerAgent::~InspectorHeapProfilerAgent):
1499         (WebCore::InspectorHeapProfilerAgent::resetState):
1500         (WebCore::InspectorHeapProfilerAgent::resetFrontendProfiles):
1501         (WebCore::InspectorHeapProfilerAgent::setFrontend):
1502         (WebCore::InspectorHeapProfilerAgent::clearFrontend):
1503         (WebCore::InspectorHeapProfilerAgent::restore):
1504         (WebCore::InspectorHeapProfilerAgent::collectGarbage):
1505         (WebCore::InspectorHeapProfilerAgent::createSnapshotHeader):
1506         (WebCore::InspectorHeapProfilerAgent::hasHeapProfiler):
1507         (WebCore::InspectorHeapProfilerAgent::getProfileHeaders):
1508         (WebCore::InspectorHeapProfilerAgent::getHeapSnapshot):
1509         (WebCore::InspectorHeapProfilerAgent::removeProfile):
1510         (WebCore::InspectorHeapProfilerAgent::takeHeapSnapshot):
1511         (WebCore::InspectorHeapProfilerAgent::getObjectByHeapObjectId):
1512         (WebCore::InspectorHeapProfilerAgent::getHeapObjectId):
1513         (WebCore::InspectorHeapProfilerAgent::reportMemoryUsage):
1514         * inspector/InspectorHeapProfilerAgent.h: Added.
1515         (WebCore):
1516         (InspectorHeapProfilerAgent):
1517         (WebCore::InspectorHeapProfilerAgent::clearProfiles):
1518         * inspector/InspectorInstrumentation.cpp:
1519         (WebCore):
1520         (WebCore::InspectorInstrumentation::didCommitLoadImpl):
1521         * inspector/InstrumentingAgents.h:
1522         (WebCore):
1523         (InstrumentingAgents):
1524         (WebCore::InstrumentingAgents::inspectorHeapProfilerAgent):
1525         (WebCore::InstrumentingAgents::setInspectorHeapProfilerAgent):
1526         * inspector/WorkerInspectorController.cpp:
1527         (WebCore::WorkerInspectorController::WorkerInspectorController):
1528         * inspector/front-end/HeapSnapshotDataGrids.js:
1529         * inspector/front-end/HeapSnapshotGridNodes.js:
1530         (WebInspector.HeapSnapshotGenericObjectNode.prototype.queryObjectContent):
1531         * inspector/front-end/HeapSnapshotView.js:
1532         (WebInspector.HeapProfileHeader.prototype.startSnapshotTransfer):
1533         (WebInspector.HeapProfileHeader.prototype.saveToFile.onOpen):
1534         (WebInspector.HeapProfileHeader.prototype.saveToFile):
1535         * inspector/front-end/ProfilesPanel.js:
1536         (WebInspector.ProfilesPanel):
1537         (WebInspector.ProfilesPanel.prototype._clearProfiles):
1538         (WebInspector.ProfilesPanel.prototype._garbageCollectButtonClicked):
1539         (WebInspector.ProfilesPanel.prototype._removeProfileHeader):
1540         (WebInspector.ProfilesPanel.prototype._populateProfiles.var):
1541         (WebInspector.ProfilesPanel.prototype._populateProfiles.populateCallback):
1542         (WebInspector.ProfilesPanel.prototype._populateProfiles):
1543         (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):
1544         (WebInspector.ProfilesPanel.prototype.revealInView):
1545         (WebInspector.HeapProfilerDispatcher):
1546         (WebInspector.HeapProfilerDispatcher.prototype.addProfileHeader):
1547         (WebInspector.HeapProfilerDispatcher.prototype.addHeapSnapshotChunk):
1548         (WebInspector.HeapProfilerDispatcher.prototype.finishHeapSnapshot):
1549         (WebInspector.HeapProfilerDispatcher.prototype.resetProfiles):
1550         (WebInspector.HeapProfilerDispatcher.prototype.reportHeapSnapshotProgress):
1551         * inspector/front-end/TimelinePanel.js:
1552         (WebInspector.TimelinePanel.prototype._garbageCollectButtonClicked):
1553         * inspector/front-end/inspector.js:
1554         (WebInspector.doLoadedDone):
1555
1556 2013-02-11  Mike West  <mkwst@chromium.org>
1557
1558         Use IGNORE_EXCEPTION for Editor::countMatchesForText's ignored exceptions.
1559         https://bugs.webkit.org/show_bug.cgi?id=109372
1560
1561         Reviewed by Jochen Eisinger.
1562
1563         Rather than implicitly ignoring exceptions, we should use the
1564         IGNORE_EXCEPTION macro for clarity.
1565
1566         * editing/Editor.cpp:
1567         (WebCore::Editor::countMatchesForText):
1568
1569 2013-02-11  Zoltan Arvai  <zarvai@inf.u-szeged.hu>
1570
1571         [Qt] Unreviewed. Fix minimal build after r142444.
1572
1573         * css/CSSValue.cpp:
1574         (WebCore::CSSValue::equals):
1575
1576 2013-02-11  Christophe Dumez  <ch.dumez@sisa.samsung.com>
1577
1578         [EFL] Stop using smart pointers for Ecore_Timer
1579         https://bugs.webkit.org/show_bug.cgi?id=109409
1580
1581         Reviewed by Kenneth Rohde Christiansen.
1582
1583         Stop using a smart pointer for Ecore_Timer in RunLoop::TimerBase. This
1584         is a bad idea because the timer handle becomes invalid as soon as the
1585         timer callback returns ECORE_CALLBACK_CANCEL. This may lead to crashes
1586         on destruction because OwnPtr calls ecore_timer_del() on an invalid
1587         handle.
1588
1589         No new tests, already covered by exiting tests.
1590
1591         * platform/RunLoop.h:
1592         (TimerBase):
1593         * platform/efl/RunLoopEfl.cpp:
1594         (WebCore::RunLoop::TimerBase::timerFired):
1595         (WebCore::RunLoop::TimerBase::start):
1596         (WebCore::RunLoop::TimerBase::stop):
1597
1598 2013-02-11  Vladislav Kaznacheev  <kaznacheev@chromium.org>
1599
1600         Web Inspector: Allow SplitView to keep the sidebar size as a fraction of the container size
1601         https://bugs.webkit.org/show_bug.cgi?id=109414
1602
1603         Reviewed by Vsevolod Vlasov.
1604
1605         SplitView now interprets defaultSidebarWidth and defaultSidebarHeight values between 0 and 1 as
1606         fractions of the total container size. The sidebar then will grow or shrink along with the container.
1607         When the sidebar is resized manually the updated ratio is stored in the settings.
1608
1609         * inspector/front-end/SplitView.js:
1610         (WebInspector.SplitView):
1611         (WebInspector.SplitView.prototype._removeAllLayoutProperties):
1612         (WebInspector.SplitView.prototype._updateTotalSize):
1613         (WebInspector.SplitView.prototype._innerSetSidebarSize):
1614         (WebInspector.SplitView.prototype._saveSidebarSize):
1615
1616 2013-02-11  Pavel Feldman  <pfeldman@chromium.org>
1617
1618         Web Inspector: highlight DOM nodes on hover while debugging
1619         https://bugs.webkit.org/show_bug.cgi?id=109355
1620
1621         Reviewed by Vsevolod Vlasov.
1622
1623         Along with showing the popover, highlight the remote object as node.
1624
1625         * inspector/front-end/ObjectPopoverHelper.js:
1626         (WebInspector.ObjectPopoverHelper.prototype.):
1627         (WebInspector.ObjectPopoverHelper.prototype._showObjectPopover):
1628         (WebInspector.ObjectPopoverHelper.prototype._onHideObjectPopover):
1629
1630 2013-02-11  Andrey Lushnikov  <lushnikov@chromium.org>
1631
1632         Web Inspector: displaying whitespace characters is broken
1633         https://bugs.webkit.org/show_bug.cgi?id=109412
1634
1635         Reviewed by Vsevolod Vlasov.
1636
1637         Add "pointer-events: none" rule for pseudo-class "before", which
1638         maintains rendering of whitespace characters.
1639
1640         No new tests.
1641
1642         * inspector/front-end/inspectorSyntaxHighlight.css:
1643         (.webkit-whitespace::before):
1644
1645 2013-02-11  Alexander Pavlov  <apavlov@chromium.org>
1646
1647         Web Inspector: Implement position-based sourcemapping for stylesheets
1648         https://bugs.webkit.org/show_bug.cgi?id=109168
1649
1650         Reviewed by Vsevolod Vlasov.
1651
1652         This change introduces support for position-based source maps for CSS stylesheets.
1653         Sourcemaps and originating resources (sass, scss, etc.) are loaded synchronously
1654         upon the CSS UISourceCode addition. RangeBasedSourceMap is removed as it is not used.
1655
1656         Test: http/tests/inspector/stylesheet-source-mapping.html
1657
1658         * inspector/front-end/CSSStyleModel.js:
1659         (WebInspector.CSSStyleModel):
1660         (WebInspector.CSSStyleModel.prototype.setSourceMapping):
1661         (WebInspector.CSSStyleModel.prototype.rawLocationToUILocation):
1662         (WebInspector.CSSStyleModel.LiveLocation.prototype.uiLocation):
1663         (WebInspector.CSSLocation):
1664         (WebInspector.CSSProperty):
1665         (WebInspector.CSSProperty.parsePayload):
1666         * inspector/front-end/CompilerScriptMapping.js:
1667         (WebInspector.CompilerScriptMapping):
1668         (WebInspector.CompilerScriptMapping.prototype.rawLocationToUILocation):
1669         (WebInspector.CompilerScriptMapping.prototype.loadSourceMapForScript):
1670         * inspector/front-end/SASSSourceMapping.js:
1671         (WebInspector.SASSSourceMapping):
1672         (WebInspector.SASSSourceMapping.prototype._styleSheetChanged.callback):
1673         (WebInspector.SASSSourceMapping.prototype._styleSheetChanged):
1674         (WebInspector.SASSSourceMapping.prototype._reloadCSS):
1675         (WebInspector.SASSSourceMapping.prototype._resourceAdded.didRequestContent):
1676         (WebInspector.SASSSourceMapping.prototype._resourceAdded):
1677         (WebInspector.SASSSourceMapping.prototype._loadAndProcessSourceMap):
1678         (WebInspector.SASSSourceMapping.prototype.loadSourceMapForStyleSheet):
1679         (WebInspector.SASSSourceMapping.prototype._bindUISourceCode):
1680         (WebInspector.SASSSourceMapping.prototype.rawLocationToUILocation):
1681         (WebInspector.SASSSourceMapping.prototype.uiLocationToRawLocation):
1682         (WebInspector.SASSSourceMapping.prototype._reset):
1683         * inspector/front-end/SourceMap.js:
1684         (WebInspector.SourceMap):
1685         (WebInspector.SourceMap.load):
1686         (WebInspector.SourceMap.prototype.findEntry):
1687         (WebInspector.SourceMap.prototype.findEntryReversed):
1688         (WebInspector.SourceMap.prototype._parseMap):
1689         * inspector/front-end/StylesSourceMapping.js:
1690         (WebInspector.StylesSourceMapping):
1691         (WebInspector.StylesSourceMapping.prototype._bindUISourceCode):
1692         * inspector/front-end/inspector.js:
1693
1694 2013-02-11  Alexander Shalamov  <alexander.shalamov@intel.com>
1695
1696         Implement CSSValue::equals(const CSSValue&) to optimise CSSValue comparison
1697         https://bugs.webkit.org/show_bug.cgi?id=102901
1698
1699         Reviewed by Antti Koivisto.
1700
1701         Added comparison method to CSSValue and its children, so that the
1702         css values could be compared efficiently. Before this patch, CSSValue
1703         objects were compared using strings that were generated by the cssText() method.
1704
1705         Test: cssom/cssvalue-comparison.html
1706
1707         * css/CSSAspectRatioValue.cpp:
1708         (WebCore::CSSAspectRatioValue::equals):
1709         (WebCore):
1710         * css/CSSAspectRatioValue.h:
1711         (CSSAspectRatioValue):
1712         * css/CSSBasicShapes.cpp:
1713         (WebCore::CSSBasicShapeRectangle::equals):
1714         (WebCore):
1715         (WebCore::CSSBasicShapeCircle::equals):
1716         (WebCore::CSSBasicShapeEllipse::equals):
1717         (WebCore::CSSBasicShapePolygon::equals):
1718         * css/CSSBasicShapes.h:
1719         (CSSBasicShapeRectangle):
1720         (CSSBasicShapeCircle):
1721         (CSSBasicShapeEllipse):
1722         (CSSBasicShapePolygon):
1723         * css/CSSBorderImageSliceValue.cpp:
1724         (WebCore::CSSBorderImageSliceValue::equals):
1725         (WebCore):
1726         * css/CSSBorderImageSliceValue.h:
1727         (CSSBorderImageSliceValue):
1728         * css/CSSCalculationValue.cpp:
1729         (WebCore::CSSCalcValue::equals):
1730         (WebCore):
1731         (WebCore::CSSCalcPrimitiveValue::equals):
1732         (CSSCalcPrimitiveValue):
1733         (WebCore::CSSCalcPrimitiveValue::type):
1734         (WebCore::CSSCalcBinaryOperation::equals):
1735         (CSSCalcBinaryOperation):
1736         (WebCore::CSSCalcBinaryOperation::type):
1737         * css/CSSCalculationValue.h:
1738         (WebCore::CSSCalcExpressionNode::equals):
1739         (CSSCalcExpressionNode):
1740         (CSSCalcValue):
1741         * css/CSSCanvasValue.cpp:
1742         (WebCore::CSSCanvasValue::equals):
1743         (WebCore):
1744         * css/CSSCanvasValue.h:
1745         (CSSCanvasValue):
1746         * css/CSSComputedStyleDeclaration.cpp:
1747         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1748         (WebCore::CSSComputedStyleDeclaration::cssPropertyMatches):
1749         (WebCore::CSSComputedStyleDeclaration::getCSSPropertyValuesForSidesShorthand):
1750         * css/CSSCrossfadeValue.cpp:
1751         (WebCore::CSSCrossfadeValue::equals):
1752         (WebCore):
1753         * css/CSSCrossfadeValue.h:
1754         (CSSCrossfadeValue):
1755         * css/CSSCursorImageValue.cpp:
1756         (WebCore::CSSCursorImageValue::equals):
1757         (WebCore):
1758         * css/CSSCursorImageValue.h:
1759         (CSSCursorImageValue):
1760         * css/CSSFontFaceSrcValue.cpp:
1761         (WebCore::CSSFontFaceSrcValue::equals):
1762         (WebCore):
1763         * css/CSSFontFaceSrcValue.h:
1764         (CSSFontFaceSrcValue):
1765         * css/CSSFunctionValue.cpp:
1766         (WebCore::CSSFunctionValue::equals):
1767         (WebCore):
1768         * css/CSSFunctionValue.h:
1769         (CSSFunctionValue):
1770         * css/CSSGradientValue.cpp:
1771         (WebCore::CSSLinearGradientValue::equals):
1772         (WebCore):
1773         (WebCore::CSSRadialGradientValue::equals):
1774         * css/CSSGradientValue.h:
1775         (WebCore::CSSGradientColorStop::operator==):
1776         (CSSLinearGradientValue):
1777         (CSSRadialGradientValue):
1778         * css/CSSImageValue.cpp:
1779         (WebCore::CSSImageValue::equals):
1780         (WebCore):
1781         * css/CSSImageValue.h:
1782         (CSSImageValue):
1783         * css/CSSInheritedValue.h:
1784         (WebCore::CSSInheritedValue::equals):
1785         (CSSInheritedValue):
1786         * css/CSSInitialValue.h:
1787         (WebCore::CSSInitialValue::equals):
1788         (CSSInitialValue):
1789         * css/CSSLineBoxContainValue.h:
1790         (WebCore::CSSLineBoxContainValue::equals):
1791         * css/CSSPrimitiveValue.cpp:
1792         (WebCore::CSSPrimitiveValue::equals):
1793         (WebCore):
1794         * css/CSSPrimitiveValue.h:
1795         (CSSPrimitiveValue):
1796         * css/CSSReflectValue.cpp:
1797         (WebCore::CSSReflectValue::equals):
1798         (WebCore):
1799         * css/CSSReflectValue.h:
1800         (CSSReflectValue):
1801         * css/CSSTimingFunctionValue.cpp:
1802         (WebCore::CSSCubicBezierTimingFunctionValue::equals):
1803         (WebCore):
1804         (WebCore::CSSStepsTimingFunctionValue::equals):
1805         * css/CSSTimingFunctionValue.h:
1806         (WebCore::CSSLinearTimingFunctionValue::equals):
1807         (CSSLinearTimingFunctionValue):
1808         (CSSCubicBezierTimingFunctionValue):
1809         (CSSStepsTimingFunctionValue):
1810         * css/CSSUnicodeRangeValue.cpp:
1811         (WebCore::CSSUnicodeRangeValue::equals):
1812         (WebCore):
1813         * css/CSSUnicodeRangeValue.h:
1814         (CSSUnicodeRangeValue):
1815         * css/CSSValue.cpp:
1816         (WebCore):
1817         (WebCore::compareCSSValues):
1818         (WebCore::CSSValue::equals):
1819         * css/CSSValue.h:
1820         (CSSValue):
1821         (WebCore):
1822         (WebCore::compareCSSValueVector):
1823         (WebCore::compareCSSValuePtr):
1824         * css/CSSValueList.cpp:
1825         (WebCore::CSSValueList::removeAll):
1826         (WebCore::CSSValueList::hasValue):
1827         (WebCore::CSSValueList::equals):
1828         (WebCore):
1829         * css/CSSValueList.h:
1830         (CSSValueList):
1831         * css/CSSVariableValue.h:
1832         (WebCore::CSSVariableValue::equals):
1833         (CSSVariableValue):
1834         * css/Counter.h:
1835         (Counter):
1836         (WebCore::Counter::equals):
1837         * css/DashboardRegion.h:
1838         (WebCore::DashboardRegion::equals):
1839         * css/FontFeatureValue.cpp:
1840         (WebCore::FontFeatureValue::equals):
1841         (WebCore):
1842         * css/FontFeatureValue.h:
1843         (FontFeatureValue):
1844         * css/FontValue.cpp:
1845         (WebCore::FontValue::equals):
1846         (WebCore):
1847         * css/FontValue.h:
1848         (FontValue):
1849         * css/MediaQueryExp.h:
1850         (WebCore::MediaQueryExp::operator==):
1851         * css/Pair.h:
1852         (WebCore::Pair::equals):
1853         (Pair):
1854         * css/Rect.h:
1855         (WebCore::RectBase::equals):
1856         (RectBase):
1857         * css/ShadowValue.cpp:
1858         (WebCore::ShadowValue::equals):
1859         (WebCore):
1860         * css/ShadowValue.h:
1861         (ShadowValue):
1862         * css/StylePropertySet.cpp:
1863         (WebCore::StylePropertySet::get4Values):
1864         (WebCore::StylePropertySet::propertyMatches):
1865         * css/WebKitCSSArrayFunctionValue.cpp:
1866         (WebCore::WebKitCSSArrayFunctionValue::equals):
1867         (WebCore):
1868         * css/WebKitCSSArrayFunctionValue.h:
1869         (WebKitCSSArrayFunctionValue):
1870         * css/WebKitCSSFilterValue.cpp:
1871         (WebCore::WebKitCSSFilterValue::equals):
1872         (WebCore):
1873         * css/WebKitCSSFilterValue.h:
1874         (WebKitCSSFilterValue):
1875         * css/WebKitCSSMixFunctionValue.cpp:
1876         (WebCore::WebKitCSSMixFunctionValue::equals):
1877         (WebCore):
1878         * css/WebKitCSSMixFunctionValue.h:
1879         (WebKitCSSMixFunctionValue):
1880         * css/WebKitCSSSVGDocumentValue.cpp:
1881         (WebCore::WebKitCSSSVGDocumentValue::equals):
1882         (WebCore):
1883         * css/WebKitCSSSVGDocumentValue.h:
1884         (WebKitCSSSVGDocumentValue):
1885         * css/WebKitCSSShaderValue.cpp:
1886         (WebCore::WebKitCSSShaderValue::equals):
1887         (WebCore):
1888         * css/WebKitCSSShaderValue.h:
1889         (WebKitCSSShaderValue):
1890         * css/WebKitCSSTransformValue.h:
1891         (WebCore::WebKitCSSTransformValue::equals):
1892         * editing/EditingStyle.cpp:
1893         (WebCore::HTMLAttributeEquivalent::valueIsPresentInStyle):
1894         * svg/SVGColor.cpp:
1895         (WebCore::SVGColor::equals):
1896         (WebCore):
1897         * svg/SVGColor.h:
1898         (SVGColor):
1899         * svg/SVGPaint.cpp:
1900         (WebCore::SVGPaint::equals):
1901         (WebCore):
1902         * svg/SVGPaint.h:
1903         (SVGPaint):
1904
1905 2013-02-11  Pan Deng  <pan.deng@intel.com>
1906
1907         [Web Inspector] Network panel, sort by "transferSize" instead of "resourceSize".
1908         https://bugs.webkit.org/show_bug.cgi?id=109142.
1909
1910         Reviewed by Vsevolod Vlasov.
1911
1912         Sort by "transferSize" as it is the primary rather than "resoureSize".
1913
1914         No new tests.
1915
1916         * inspector/front-end/NetworkPanel.js:
1917         (WebInspector.NetworkDataGridNode.SizeComparator):
1918
1919 2013-02-11  Eugene Klyuchnikov  <eustas@chromium.org>
1920
1921         Web Inspector: [Resources] Prefactorings in DataGrid and CookieTable
1922         https://bugs.webkit.org/show_bug.cgi?id=109141
1923
1924         Reviewed by Vsevolod Vlasov.
1925
1926         1) Make deleteCookie method static and move to WebInspector.Cookie
1927         2) Replace resfreshCallback getter/setter in DataGrid with
1928         constructor parameter
1929
1930         * inspector/front-end/CookieItemsView.js: Adopt changes.
1931         * inspector/front-end/CookieParser.js:
1932         (WebInspector.Cookie.prototype.remove): Moved from CookiesTable.
1933         * inspector/front-end/CookiesTable.js: Adopt changes.
1934         * inspector/front-end/DataGrid.js:
1935         Replace setter with constructor parameter.
1936
1937 2013-02-11  John J. Barton  <johnjbarton@chromium.org>
1938
1939         Web Inspector: Don't throw exceptions in WebInspector.Color
1940         https://bugs.webkit.org/show_bug.cgi?id=104835
1941
1942         Reviewed by Vsevolod Vlasov.
1943
1944         WebInspector.Color.parse() returns a Color from a string, or null;
1945         Ctor calls now call parse();
1946         In the StylesSideBarPane, test null rather than catch(e).
1947
1948         Added case to inspector/styles/styles-invalid-color-values.html
1949
1950         * inspector/front-end/Color.js:
1951         (WebInspector.Color):
1952         (WebInspector.Color.parse):
1953         (WebInspector.Color.fromRGBA):
1954         (WebInspector.Color.fromRGB):
1955         (WebInspector.Color.prototype.toString):
1956         (WebInspector.Color.prototype._parse.this.alpha.set 0):
1957         (WebInspector.Color.prototype._parse.this.nickname.set 2):
1958         (WebInspector.Color.prototype._parse.this.hsla.set 1):
1959         (WebInspector.Color.prototype._parse.this.rgba.set 0):
1960         (WebInspector.Color.prototype._parse.set WebInspector):
1961         (WebInspector.Color.prototype._parse):
1962         * inspector/front-end/Spectrum.js:
1963         (WebInspector.Spectrum.prototype.get color):
1964         * inspector/front-end/StylesSidebarPane.js:
1965
1966 2013-02-11  Andrey Lushnikov  <lushnikov@chromium.org>
1967
1968         Web Inspector: home button behaviour is wrong in DTE
1969         https://bugs.webkit.org/show_bug.cgi?id=109154
1970
1971         Reviewed by Vsevolod Vlasov.
1972
1973         Handle home key shortcut explicitly in TextEditorMainPanel.
1974
1975         New test: inspector/editor/text-editor-home-button.html
1976
1977         * inspector/front-end/DefaultTextEditor.js:
1978         (WebInspector.TextEditorMainPanel.prototype._registerShortcuts):
1979         (WebInspector.TextEditorMainPanel.prototype._handleHomeKey):
1980
1981 2013-02-11  Abhishek Arya  <inferno@chromium.org>
1982
1983         Add ASSERT_WITH_SECURITY_IMPLICATION to detect out of bounds access
1984         https://bugs.webkit.org/show_bug.cgi?id=108981
1985
1986         Reviewed by Eric Seidel.
1987
1988         * Modules/mediastream/RTCStatsResponse.cpp:
1989         (WebCore::RTCStatsResponse::addElement):
1990         (WebCore::RTCStatsResponse::addStatistic):
1991         * Modules/websockets/WebSocketChannel.cpp:
1992         (WebCore::WebSocketChannel::skipBuffer):
1993         * css/CSSCalculationValue.cpp:
1994         (WebCore::CSSCalcExpressionNodeParser::parseValueMultiplicativeExpression):
1995         (WebCore::CSSCalcExpressionNodeParser::parseAdditiveValueExpression):
1996         * css/WebKitCSSTransformValue.cpp:
1997         (WebCore::transformValueToCssString):
1998         * editing/TextIterator.cpp:
1999         (WebCore::SearchBuffer::search):
2000         * html/HTMLElement.cpp:
2001         (WebCore::parseColorStringWithCrazyLegacyRules):
2002         * html/ImageData.cpp:
2003         (WebCore::ImageData::ImageData):
2004         * html/shadow/DateTimeSymbolicFieldElement.cpp:
2005         (WebCore::DateTimeSymbolicFieldElement::DateTimeSymbolicFieldElement):
2006         * html/track/TextTrackCueList.cpp:
2007         (WebCore::TextTrackCueList::add):
2008         * platform/SharedBuffer.cpp:
2009         (WebCore::SharedBuffer::getSomeData):
2010         * platform/SharedBufferChunkReader.cpp:
2011         (WebCore::SharedBufferChunkReader::nextChunk):
2012         * platform/audio/HRTFDatabase.cpp:
2013         (WebCore::HRTFDatabase::getKernelsFromAzimuthElevation):
2014         * platform/graphics/GlyphPageTreeNode.cpp:
2015         (WebCore::GlyphPageTreeNode::initializePage):
2016         * platform/graphics/Region.cpp:
2017         (WebCore::Region::Shape::segments_end):
2018         * platform/graphics/filters/FEComponentTransfer.cpp:
2019         (WebCore::FEComponentTransfer::getValues):
2020         * platform/graphics/filters/FilterEffect.cpp:
2021         (WebCore::FilterEffect::inputEffect):
2022         * platform/text/TextCodecUTF8.cpp:
2023         (WebCore::TextCodecUTF8::decode):
2024         * platform/text/mac/TextCodecMac.cpp:
2025         (WebCore::TextCodecMac::decode):
2026         * rendering/RenderBlockLineLayout.cpp:
2027         (WebCore::RenderBlock::checkFloatsInCleanLine):
2028         * svg/SVGAnimatedTypeAnimator.h:
2029         (WebCore::SVGAnimatedTypeAnimator::executeAction):
2030         * svg/SVGAnimationElement.cpp:
2031         (WebCore::SVGAnimationElement::calculatePercentForSpline):
2032         * svg/animation/SVGSMILElement.cpp:
2033         (WebCore::SVGSMILElement::findInstanceTime):
2034
2035 2013-02-10  Chris Fleizach  <cfleizach@apple.com>
2036
2037         WebSpeech: Implement basic speaking/finished speaking behavior
2038         https://bugs.webkit.org/show_bug.cgi?id=107135
2039
2040         Reviewed by Sam Weinig.
2041
2042         Implements the basic functionality of speaking utterances.
2043
2044         In the WebCore side, it manages the speech queue the way the spec defines
2045         (that is, new jobs are appended to a queue and wait for other jobs to finish).
2046
2047         On the Mac side, it instantiates a synthesizer and handles the callbacks for when
2048         jobs are finished. It sends those jobs back to WebCore to dispatch the right events.
2049
2050         Test: platform/mac/fast/speechsynthesis/speech-synthesis-speak.html
2051
2052         * Modules/speech/SpeechSynthesis.cpp:
2053         (WebCore::SpeechSynthesis::SpeechSynthesis):
2054         (WebCore::SpeechSynthesis::paused):
2055         (WebCore::SpeechSynthesis::startSpeakingImmediately):
2056         (WebCore::SpeechSynthesis::speak):
2057         (WebCore):
2058         (WebCore::SpeechSynthesis::fireEvent):
2059         (WebCore::SpeechSynthesis::handleSpeakingCompleted):
2060         (WebCore::SpeechSynthesis::didStartSpeaking):
2061         (WebCore::SpeechSynthesis::didFinishSpeaking):
2062         (WebCore::SpeechSynthesis::speakingErrorOccurred):
2063         * Modules/speech/SpeechSynthesis.h:
2064         (WebCore):
2065         (WebCore::SpeechSynthesis::speaking):
2066         (SpeechSynthesis):
2067         * Modules/speech/SpeechSynthesisEvent.cpp:
2068         (WebCore::SpeechSynthesisEvent::create):
2069         (WebCore):
2070         (WebCore::SpeechSynthesisEvent::SpeechSynthesisEvent):
2071         * Modules/speech/SpeechSynthesisEvent.h:
2072         (SpeechSynthesisEvent):
2073         (WebCore::SpeechSynthesisEvent::interfaceName):
2074         * Modules/speech/SpeechSynthesisUtterance.h:
2075         (WebCore::SpeechSynthesisUtterance::startTime):
2076         (WebCore::SpeechSynthesisUtterance::setStartTime):
2077         (SpeechSynthesisUtterance):
2078         * platform/PlatformSpeechSynthesisUtterance.cpp:
2079         (WebCore::PlatformSpeechSynthesisUtterance::PlatformSpeechSynthesisUtterance):
2080         * platform/PlatformSpeechSynthesisUtterance.h:
2081         (PlatformSpeechSynthesisUtterance):
2082         (WebCore::PlatformSpeechSynthesisUtterance::setVolume):
2083         (WebCore::PlatformSpeechSynthesisUtterance::setRate):
2084         (WebCore::PlatformSpeechSynthesisUtterance::setPitch):
2085         (WebCore::PlatformSpeechSynthesisUtterance::startTime):
2086         (WebCore::PlatformSpeechSynthesisUtterance::setStartTime):
2087         (WebCore::PlatformSpeechSynthesisUtterance::client):
2088         * platform/PlatformSpeechSynthesizer.cpp:
2089         (WebCore::PlatformSpeechSynthesizer::PlatformSpeechSynthesizer):
2090         * platform/PlatformSpeechSynthesizer.h:
2091         (PlatformSpeechSynthesizerClient):
2092         (WebCore::PlatformSpeechSynthesizer::client):
2093         (PlatformSpeechSynthesizer):
2094         * platform/mac/PlatformSpeechSynthesizerMac.mm:
2095         (-[WebSpeechSynthesisWrapper initWithSpeechSynthesizer:WebCore::]):
2096         (-[WebSpeechSynthesisWrapper dealloc]):
2097         (-[WebSpeechSynthesisWrapper convertRateToWPM:]):
2098         (-[WebSpeechSynthesisWrapper speakUtterance:WebCore::]):
2099         (-[WebSpeechSynthesisWrapper speechSynthesizer:didFinishSpeaking:]):
2100         (WebCore::PlatformSpeechSynthesizer::speak):
2101
2102 2013-02-10  Eric Seidel  <eric@webkit.org>
2103
2104         Make the existing HTMLPreloadScanner threading-aware
2105         https://bugs.webkit.org/show_bug.cgi?id=107807
2106
2107         Reviewed by Adam Barth.
2108
2109         The HTMLPreloadScanner and CSSPreloadScanner do a number of things.
2110         CSSPreloadScanner is mostly just a helper class for HTMLPreloadScanner.
2111         HTMLPreloadScanner runs its own copy of the HTMLTokenizer and uses
2112         HTMLTokenizer::updateStateFor to emulate enough of the TreeBuilder
2113         to get a realistic stream of tokens.  It does some additional TreeBuilder
2114         emulation, including tracking template tags and base tags, but mostly
2115         just scans the token stream for start-tags and looks for URLs in them.
2116         It tracks when it has seen a <style> tag and starts sending all character tokens
2117         to the CSSPreloadScanner until a </style> tag is seen.
2118         It also (unfortunately) knows some about the loader guts and how to construct
2119         a proper CachedResourcRequest and issue a preload.
2120
2121         This patch changes the model so that the preload scanners only know how to produce
2122         PreloadRequest objects and append them to a passed-in vector.
2123
2124         This changes the preload-scanner behavior so that preloads are now all issued in one large
2125         batch at the end of scanning, instead of as we hit each resource.  It's possible that
2126         we'll wait to instead check for preload requests more often, at a possible tradeoff
2127         to tokenizing speed.
2128
2129         An alternate approach might be to pass in a preload-delegate of sorts which knew how
2130         to either build a vector, or send requests immediately.  For now the build-a-vector-always
2131         approach seems clean, and does not seem to slow down our PerformanceTest microbenchmarks at least.
2132
2133         This patch has 2 main pieces:
2134         - Remove Document and (and loader) dependencies from HTMLPreloadScanner/CSSPreloadScanner
2135           This is done through introduction of a new HTMLResourcePreloader class which holds
2136           a Document* and knows how to talk to the CachedResourceLoader.
2137         - Clean-up HTMLPreloadScanners token-loop to not be tied to having a Tokenizer.
2138           (On a background thead, the HTMLPreloadScanner won't own the tokenizer, it will just
2139            be passed in tokens and expected to issue loads if necessary.)
2140
2141         This passes all of the LayoutTests using the main thread parser.
2142
2143         This patch does not make the HTMLPreloadScanner 100% ready for threading
2144         (it still uses AtomicString which is currently not-OK on the parser thread)
2145         but it's very close.  Two further (already written) patches will complete this.
2146
2147         * CMakeLists.txt:
2148         * GNUmakefile.list.am:
2149         * Target.pri:
2150         * WebCore.gypi:
2151         * WebCore.vcproj/WebCore.vcproj:
2152         * WebCore.vcxproj/WebCore.vcxproj:
2153         * WebCore.xcodeproj/project.pbxproj:
2154         * html/parser/CSSPreloadScanner.cpp:
2155         (WebCore::CSSPreloadScanner::CSSPreloadScanner):
2156         (WebCore::CSSPreloadScanner::scan):
2157         (WebCore::CSSPreloadScanner::emitRule):
2158         * html/parser/CSSPreloadScanner.h:
2159         (CSSPreloadScanner):
2160         * html/parser/HTMLDocumentParser.cpp:
2161         (WebCore::HTMLDocumentParser::HTMLDocumentParser):
2162         (WebCore::HTMLDocumentParser::pumpTokenizer):
2163         (WebCore::HTMLDocumentParser::insert):
2164         (WebCore::HTMLDocumentParser::append):
2165         (WebCore::HTMLDocumentParser::appendCurrentInputStreamToPreloadScannerAndScan):
2166         * html/parser/HTMLDocumentParser.h:
2167         (HTMLDocumentParser):
2168         * html/parser/HTMLPreloadScanner.cpp:
2169         (WebCore::isStartTag):
2170         (WebCore):
2171         (WebCore::isStartOrEndTag):
2172         (WebCore::PreloadTask::processAttributes):
2173         (WebCore::PreloadTask::charset):
2174         (PreloadTask):
2175         (WebCore::PreloadTask::resourceType):
2176         (WebCore::PreloadTask::shouldPreload):
2177         (WebCore::PreloadTask::createPreloadRequest):
2178         (WebCore::HTMLPreloadScanner::HTMLPreloadScanner):
2179         (WebCore::HTMLPreloadScanner::scan):
2180         (WebCore::HTMLPreloadScanner::processPossibleTemplateTag):
2181         (WebCore::HTMLPreloadScanner::processPossibleStyleTag):
2182         (WebCore::HTMLPreloadScanner::processPossibleBaseTag):
2183         (WebCore::HTMLPreloadScanner::processToken):
2184         * html/parser/HTMLPreloadScanner.h:
2185         (HTMLPreloadScanner):
2186         * html/parser/HTMLResourcePreloader.cpp: Added.
2187         (WebCore):
2188         (WebCore::isStringSafeToSendToAnotherThread):
2189         (WebCore::PreloadRequest::isSafeToSendToAnotherThread):
2190         (WebCore::PreloadRequest::completeURL):
2191         (WebCore::PreloadRequest::resourceRequest):
2192         (WebCore::HTMLResourcePreloader::preload):
2193         * html/parser/HTMLResourcePreloader.h: Added.
2194         (WebCore):
2195         (PreloadRequest):
2196         (WebCore::PreloadRequest::create):
2197         (WebCore::PreloadRequest::PreloadRequest):
2198         (HTMLResourcePreloader):
2199         (WebCore::HTMLResourcePreloader::HTMLResourcePreloader):
2200         (WebCore::HTMLResourcePreloader::createWeakPtr):
2201         * loader/cache/CachedResourceRequest.h:
2202
2203 2013-02-06  Kentaro Hara  <haraken@chromium.org>
2204
2205         [V8] Rename isolated() to getWorld(), rename worldForEnteredContextIfIsolated() to worldForEnteredContext()
2206         https://bugs.webkit.org/show_bug.cgi?id=109039
2207
2208         Reviewed by Adam Barth.
2209
2210         This is a follow-up patch for r141983.
2211         Rename methods for consistency.
2212
2213         No tests. No change in behavior.
2214
2215         * bindings/v8/DOMDataStore.cpp:
2216         (WebCore::DOMDataStore::current):
2217         * bindings/v8/DOMWrapperWorld.h:
2218         (WebCore::DOMWrapperWorld::getWorld):
2219         * bindings/v8/ScriptController.cpp:
2220         (WebCore::ScriptController::shouldBypassMainWorldContentSecurityPolicy):
2221         (WebCore::ScriptController::currentWorldContext):
2222         * bindings/v8/V8Binding.h:
2223         (WebCore::worldForEnteredContext):
2224         * bindings/v8/WorldContextHandle.cpp:
2225         (WebCore::WorldContextHandle::WorldContextHandle):
2226         * bindings/v8/custom/V8DocumentCustom.cpp:
2227         (WebCore::wrap):
2228         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
2229         (WebCore::wrap):
2230         * bindings/v8/custom/V8SVGDocumentCustom.cpp:
2231         (WebCore::wrap):
2232         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
2233         (WebCore::V8XMLHttpRequest::constructorCallbackCustom):
2234
2235 2013-02-10  Alexandre Elias  <aelias@chromium.org>
2236
2237         [chromium] Fix Android scrollbar size
2238         https://bugs.webkit.org/show_bug.cgi?id=109374
2239
2240         Reviewed by James Robinson.
2241
2242         This shrinks scrollbars to 3 device-independent pixels (usually 6
2243         physical pixels) and deletes the edge fade. Although the Android
2244         system theme does have an edge fade, it's a much sharper cliff
2245         than we had (against black, the colors go 64 -> 64 -> 52 -> 21 -> 0)
2246         and I can't perceive any difference compared with no fade at all.
2247
2248         No new tests (due for rewrite in a week anyway).
2249
2250         * platform/chromium/ScrollbarThemeChromiumAndroid.cpp:
2251         (WebCore):
2252         (WebCore::ScrollbarThemeChromiumAndroid::paintThumb):
2253
2254 2013-02-04  Kentaro Hara  <haraken@chromium.org>
2255
2256         [V8] Remove V8GCController::m_edenNodes and make minor DOM GC more precise
2257         https://bugs.webkit.org/show_bug.cgi?id=108579
2258
2259         Reviewed by Adam Barth.
2260
2261         Currently V8GCController::m_edenNodes stores a list of nodes whose
2262         wrappers have been created since the latest GC. The reason why we
2263         needed m_edenNodes is that there was no way to know a list of wrappers
2264         in the new space of V8. By using m_edenNodes, we had been approximating
2265         'wrappers in the new space' by 'wrappers that have been created since
2266         the latest GC'.
2267
2268         Now V8 provides VisitHandlesForPartialDependence(), with which WebKit
2269         can know a list of wrappers in the new space. By using the API, we can
2270         remove V8GCController::m_edenNodes. The benefit is that (1) we no longer
2271         need to keep m_edenNodes and that (2) it enables more precise minor
2272         DOM GC (Remember that m_edenNodes was just an approximation).
2273
2274         Performance benchmark: https://bugs.webkit.org/attachment.cgi?id=185940
2275         The benchmark runs 300 iterations, each of which creates 100000 elements.
2276         The benchmark measures average, min, median, max and stdev of execution times
2277         of the 300 iterations. This will tell us the worst-case overhead of this change.
2278
2279         Before:
2280           mean=59.91ms, min=39ms, median=42ms, max=258ms, stdev=47.48ms
2281
2282         After:
2283           mean=58.75ms, min=35ms, median=41ms, max=250ms, stdev=47.32ms
2284
2285         As shown above, I couldn't observe any performance regression.
2286
2287         No tests. No change in behavior.
2288
2289         * bindings/v8/DOMDataStore.h:
2290         (WebCore::DOMDataStore::setWrapperInObject):
2291         * bindings/v8/DOMWrapperWorld.h:
2292         (DOMWrapperWorld):
2293         (WebCore::DOMWrapperWorld::getWorldWithoutContextCheck):
2294         * bindings/v8/V8Binding.h:
2295         (WebCore):
2296         (WebCore::worldForEnteredContextIfIsolated):
2297         (WebCore::worldForEnteredContextWithoutContextCheck):
2298         * bindings/v8/V8DOMWindowShell.cpp:
2299         (WebCore::V8DOMWindowShell::initializeIfNeeded):
2300         * bindings/v8/V8GCController.cpp:
2301         (WebCore::gcTree):
2302         (WebCore):
2303         (MinorGCWrapperVisitor):
2304         (WebCore::MinorGCWrapperVisitor::MinorGCWrapperVisitor):
2305         (WebCore::MinorGCWrapperVisitor::notifyFinished):
2306         (WebCore::MajorGCWrapperVisitor::MajorGCWrapperVisitor):
2307         (WebCore::V8GCController::gcPrologue):
2308         (WebCore::V8GCController::minorGCPrologue):
2309         (WebCore::V8GCController::majorGCPrologue):
2310         * bindings/v8/V8GCController.h:
2311         (V8GCController):
2312
2313 2013-02-10  Tim Horton  <timothy_horton@apple.com>
2314
2315         REGRESSION (r132422): Page content and scrollbars are incorrectly offset after restoring a page from the page cache
2316         https://bugs.webkit.org/show_bug.cgi?id=109317
2317         <rdar://problem/12649131>
2318
2319         Reviewed by Simon Fraser.
2320
2321         Mark all scrolling that occurs beneath FrameView::layout as programmatic.
2322
2323         Test: platform/mac-wk2/tiled-drawing/tiled-drawing-scroll-position-page-cache-restoration.html
2324
2325         * page/FrameView.cpp:
2326         (WebCore::FrameView::layout):
2327
2328 2013-02-10  Kent Tamura  <tkent@chromium.org>
2329
2330         [Mac] Fix release build failure by recent reverts
2331
2332         * WebCore.exp.in:
2333
2334 2013-02-10  Philippe Normand  <pnormand@igalia.com>
2335
2336         [GStreamer] media/video-controls-fullscreen-volume.html crashes
2337         https://bugs.webkit.org/show_bug.cgi?id=108682
2338
2339         Reviewed by Martin Robinson.
2340
2341         Clean up various signal handlers and avoid bad interaction between
2342         the FullscreenVideoControllerGStreamer and its subclasses,
2343         especially when the platform video window is created.
2344
2345         * platform/graphics/gstreamer/FullscreenVideoControllerGStreamer.cpp:
2346         (WebCore::FullscreenVideoControllerGStreamer::enterFullscreen):
2347         Initialize the window before connecting to the volume/mute
2348         signals. This ensures that the signals won't ever interfere with
2349         an inexisting window.
2350         * platform/graphics/gstreamer/GStreamerGWorld.cpp:
2351         (WebCore::GStreamerGWorld::~GStreamerGWorld): Remove GstBus
2352         synchronous handler function.
2353         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2354         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
2355         (WebCore::MediaPlayerPrivateGStreamerBase::~MediaPlayerPrivateGStreamerBase):
2356         Disconnect from volume/mute signals.
2357         (WebCore::MediaPlayerPrivateGStreamerBase::setStreamVolumeElement):
2358         Keep a trace of volume/mute signal handlers.
2359         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
2360         Various forward type declarations to avoid un-necessary header includes.
2361         (MediaPlayerPrivateGStreamerBase):
2362         * platform/graphics/gtk/FullscreenVideoControllerGtk.cpp:
2363         (WebCore::FullscreenVideoControllerGtk::FullscreenVideoControllerGtk):
2364         (WebCore::FullscreenVideoControllerGtk::volumeChanged): Bail out
2365         if volume button hasn't been created yet.
2366         (WebCore::FullscreenVideoControllerGtk::muteChanged): Ditto.
2367
2368 2013-02-10  Andreas Kling  <akling@apple.com>
2369
2370         RenderStyle should use copy-on-write inheritance for NinePieceImage.
2371         <http://webkit.org/b/109366>
2372
2373         Reviewed by Antti Koivisto.
2374
2375         Refactor NinePieceImage to hold a copy-on-write DataRef like other RenderStyle substructures.
2376         This allows us to avoids copying the NinePieceImageData when one RenderStyle inherits from another
2377         but modifies something in the substructure holding the NinePieceImage (typically StyleSurroundData.)
2378
2379         Also made RenderStyle not copy-on-write its StyleSurroundData prematurely when doing a no-op write
2380         to a border-image related value.
2381
2382         1.23 MB progression on Membuster3.
2383
2384         * rendering/style/NinePieceImage.cpp:
2385         (WebCore::defaultData):
2386         (WebCore::NinePieceImage::NinePieceImage):
2387         (WebCore::NinePieceImageData::NinePieceImageData):
2388         (WebCore::NinePieceImageData::operator==):
2389         * rendering/style/NinePieceImage.h:
2390         (WebCore::NinePieceImageData::create):
2391         (WebCore::NinePieceImageData::copy):
2392         (NinePieceImageData):
2393         (NinePieceImage):
2394         (WebCore::NinePieceImage::operator==):
2395         (WebCore::NinePieceImage::operator!=):
2396         (WebCore::NinePieceImage::hasImage):
2397         (WebCore::NinePieceImage::image):
2398         (WebCore::NinePieceImage::setImage):
2399         (WebCore::NinePieceImage::imageSlices):
2400         (WebCore::NinePieceImage::setImageSlices):
2401         (WebCore::NinePieceImage::fill):
2402         (WebCore::NinePieceImage::setFill):
2403         (WebCore::NinePieceImage::borderSlices):
2404         (WebCore::NinePieceImage::setBorderSlices):
2405         (WebCore::NinePieceImage::outset):
2406         (WebCore::NinePieceImage::setOutset):
2407         (WebCore::NinePieceImage::horizontalRule):
2408         (WebCore::NinePieceImage::setHorizontalRule):
2409         (WebCore::NinePieceImage::verticalRule):
2410         (WebCore::NinePieceImage::setVerticalRule):
2411         (WebCore::NinePieceImage::copyImageSlicesFrom):
2412         (WebCore::NinePieceImage::copyBorderSlicesFrom):
2413         (WebCore::NinePieceImage::copyOutsetFrom):
2414         (WebCore::NinePieceImage::copyRepeatFrom):
2415         (WebCore::NinePieceImage::setMaskDefaults):
2416         (WebCore::NinePieceImage::computeOutset):
2417         * rendering/style/RenderStyle.cpp:
2418         (WebCore::RenderStyle::setBorderImageSource):
2419         (WebCore::RenderStyle::setBorderImageSlices):
2420         (WebCore::RenderStyle::setBorderImageWidth):
2421         (WebCore::RenderStyle::setBorderImageOutset):
2422         * rendering/style/RenderStyle.h:
2423
2424 2013-02-10  Kent Tamura  <tkent@chromium.org>
2425
2426         Unreviewed, rolling out r142343.
2427         http://trac.webkit.org/changeset/142343
2428         https://bugs.webkit.org/show_bug.cgi?id=108284
2429
2430         It might make inspector/profiler/selector-profiler-url.html
2431         crashy.
2432
2433         * WebCore.exp.in:
2434         * css/plugIns.css:
2435         (p):
2436         * html/HTMLPlugInElement.cpp:
2437         (WebCore::HTMLPlugInElement::defaultEventHandler):
2438         * html/HTMLPlugInImageElement.cpp:
2439         (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
2440         (WebCore::HTMLPlugInImageElement::createRenderer):
2441         (WebCore::HTMLPlugInImageElement::willRecalcStyle):
2442         (WebCore::HTMLPlugInImageElement::updateSnapshot):
2443         (WebCore::HTMLPlugInImageElement::userDidClickSnapshot):
2444         (WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn):
2445         * html/HTMLPlugInImageElement.h:
2446         (WebCore):
2447         (HTMLPlugInImageElement):
2448         * page/ChromeClient.h:
2449         (WebCore::ChromeClient::plugInStartLabelImage):
2450         * platform/LocalizedStrings.cpp:
2451         * platform/LocalizedStrings.h:
2452         * platform/blackberry/LocalizedStringsBlackBerry.cpp:
2453         * platform/chromium/LocalizedStringsChromium.cpp:
2454         * platform/efl/LocalizedStringsEfl.cpp:
2455         (WebCore):
2456         * platform/gtk/LocalizedStringsGtk.cpp:
2457         (WebCore):
2458         * platform/qt/LocalizedStringsQt.cpp:
2459         * rendering/RenderSnapshottedPlugIn.cpp:
2460         (WebCore):
2461         (WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn):
2462         (WebCore::RenderSnapshottedPlugIn::paint):
2463         (WebCore::RenderSnapshottedPlugIn::paintReplaced):
2464         (WebCore::RenderSnapshottedPlugIn::paintSnapshot):
2465         (WebCore::RenderSnapshottedPlugIn::paintReplacedSnapshot):
2466         (WebCore::RenderSnapshottedPlugIn::startLabelImage):
2467         (WebCore::RenderSnapshottedPlugIn::paintReplacedSnapshotWithLabel):
2468         (WebCore::RenderSnapshottedPlugIn::getCursor):
2469         (WebCore::RenderSnapshottedPlugIn::handleEvent):
2470         (WebCore::RenderSnapshottedPlugIn::tryToFitStartLabel):
2471         * rendering/RenderSnapshottedPlugIn.h:
2472
2473 2013-02-10  Andreas Kling  <akling@apple.com>
2474
2475         RenderText: Access characters through m_text instead of caching data pointers separately.
2476         <http://webkit.org/b/109357>
2477
2478         Reviewed by Antti Koivisto.
2479
2480         Go through RenderText::m_text.impl() instead of caching the character data pointer.
2481         RenderText should never have a null String in m_text so it's safe to access impl() directly.
2482         We have assertions for this since before.
2483
2484         Removing this pointer shrinks RenderText by 8 bytes, allowing it to fit into a snugger size class.
2485         749 KB progression on Membuster3.
2486
2487         * rendering/RenderText.cpp:
2488         (SameSizeAsRenderText):
2489         (WebCore::RenderText::RenderText):
2490         (WebCore::RenderText::setTextInternal):
2491         * rendering/RenderText.h:
2492         (WebCore::RenderText::is8Bit):
2493         (WebCore::RenderText::characters8):
2494         (WebCore::RenderText::characters16):
2495         (WebCore::RenderText::characterAt):
2496         (WebCore::RenderText::operator[]):
2497         (RenderText):
2498
2499 2013-02-10  Jae Hyun Park  <jae.park08@gmail.com>
2500
2501         Rename ENABLE(GLIB_SUPPORT) to USE(GLIB)
2502         https://bugs.webkit.org/show_bug.cgi?id=104266
2503
2504         Reviewed by Philippe Normand.
2505
2506         Using USE(GLIB) instead of ENABLE(GLIB_SUPPORT) is more consistent with
2507         the existing macro naming conventions.
2508
2509         From Platform.h
2510         USE() - use a particular third-party library or optional OS service
2511         ENABLE() - turn on a specific feature of WebKit
2512
2513         No new tests, no new functionality.
2514
2515         * WebCore.pri:
2516
2517 2013-02-10  Zan Dobersek  <zdobersek@igalia.com>
2518
2519         [GTK] Build errors in TextureMapperShaderProgram.cpp when compiling with Clang
2520         https://bugs.webkit.org/show_bug.cgi?id=109321
2521
2522         Reviewed by Noam Rosenthal.
2523
2524         Clang is reporting errors due to non-constant expressions that cannot be narrowed
2525         from double to float type in initializer list when constructing a matrix of GC3Dfloat
2526         numbers. To avoid this every parameter is passed through an explicit GC3Dfloat constructor.
2527
2528         No new tests - no new functionality.
2529
2530         * platform/graphics/texmap/TextureMapperShaderProgram.cpp:
2531         (WebCore::TextureMapperShaderProgram::setMatrix):
2532
2533 2013-02-10  Philippe Normand  <pnormand@igalia.com>
2534
2535         [GStreamer] audio is muted when playback rate is between 0.8 and 2.0
2536         https://bugs.webkit.org/show_bug.cgi?id=109362
2537
2538         Reviewed by Martin Robinson.
2539
2540         Don't mute sound if the audio pitch is preserved. If this is not
2541         the case mute it if it's too extreme, as the HTML5 spec recommends.
2542
2543         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2544         (WebCore::MediaPlayerPrivateGStreamer::setRate):
2545
2546 2013-02-09  Dominic Mazzoni  <dmazzoni@google.com>
2547
2548         fast/encoding/parser-tests-*.html tests sometimes crash
2549         https://bugs.webkit.org/show_bug.cgi?id=108058
2550
2551         Reviewed by Chris Fleizach.
2552
2553         To avoid calling accessibilityIsIgnored while the render
2554         tree is unstable, call accessibilityIsIgnored in the
2555         notification timer handler, only for childrenChanged
2556         notifications.
2557
2558         This exposed a problem where notifications queued on
2559         objects can fire after the object has been deleted; fix that
2560         by checking the object's id, which is always set to 0 when
2561         removed from the tree.
2562
2563         Covered by existing tests.
2564
2565         * accessibility/AXObjectCache.cpp:
2566         (WebCore::AXObjectCache::childrenChanged):
2567         (WebCore::AXObjectCache::notificationPostTimerFired):
2568
2569 2013-02-09  Eric Carlson  <eric.carlson@apple.com>
2570
2571         [Mac] Do not assume MediaAccessibility framework is installed
2572         https://bugs.webkit.org/show_bug.cgi?id=109365
2573
2574         Reviewed by Sam Weinig.
2575
2576         * page/CaptionUserPreferencesMac.h:
2577         * page/CaptionUserPreferencesMac.mm:
2578         (WebCore::CaptionUserPreferencesMac::userPrefersCaptions): Call the base class if the framework
2579             is not available.
2580         (WebCore::CaptionUserPreferencesMac::setUserPrefersCaptions): Ditto.
2581         (WebCore::CaptionUserPreferencesMac::userHasCaptionPreferences): Ditto.
2582         (WebCore::CaptionUserPreferencesMac::registerForCaptionPreferencesChangedCallbacks): Ditto.
2583         (WebCore::CaptionUserPreferencesMac::unregisterForCaptionPreferencesChangedCallbacks): Ditto.
2584         (WebCore::CaptionUserPreferencesMac::captionsStyleSheetOverride): Ditto.
2585         (WebCore::CaptionUserPreferencesMac::captionFontSizeScale): Ditto.
2586         (WebCore::CaptionUserPreferencesMac::setPreferredLanguage): Ditto.
2587         (WebCore::CaptionUserPreferencesMac::preferredLanguages): Ditto.
2588
2589 2013-02-09  Dominic Mazzoni  <dmazzoni@google.com>
2590
2591         AX: move isIgnored caching to AXObject
2592         https://bugs.webkit.org/show_bug.cgi?id=109322
2593
2594         Reviewed by Chris Fleizach.
2595
2596         There's some benefit to caching accessibilityIsIgnored
2597         (using AXComputedObjectAttributeCache) for more than just
2598         AXRenderObject, so move the caching code to AXObject.
2599
2600         AXObject now has a protected virtual method
2601         computeAccessibilityIsIgnored, and all subclasses
2602         override that instead.
2603
2604         No new tests.
2605
2606         * accessibility/AccessibilityImageMapLink.h:
2607         (AccessibilityImageMapLink):
2608         (WebCore::AccessibilityImageMapLink::computeAccessibilityIsIgnored):
2609         * accessibility/AccessibilityList.cpp:
2610         (WebCore::AccessibilityList::computeAccessibilityIsIgnored):
2611         * accessibility/AccessibilityList.h:
2612         (AccessibilityList):
2613         * accessibility/AccessibilityListBox.cpp:
2614         (WebCore::AccessibilityListBox::computeAccessibilityIsIgnored):
2615         * accessibility/AccessibilityListBox.h:
2616         (AccessibilityListBox):
2617         * accessibility/AccessibilityListBoxOption.cpp:
2618         (WebCore::AccessibilityListBoxOption::computeAccessibilityIsIgnored):
2619         * accessibility/AccessibilityListBoxOption.h:
2620         (AccessibilityListBoxOption):
2621         * accessibility/AccessibilityMediaControls.cpp:
2622         (WebCore::AccessibilityMediaControl::computeAccessibilityIsIgnored):
2623         (WebCore::AccessibilityMediaTimeDisplay::computeAccessibilityIsIgnored):
2624         * accessibility/AccessibilityMediaControls.h:
2625         (AccessibilityMediaControl):
2626         (WebCore::AccessibilityMediaControlsContainer::computeAccessibilityIsIgnored):
2627         (AccessibilityMediaTimeDisplay):
2628         * accessibility/AccessibilityMenuList.h:
2629         (WebCore::AccessibilityMenuList::computeAccessibilityIsIgnored):
2630         * accessibility/AccessibilityMenuListOption.cpp:
2631         (WebCore::AccessibilityMenuListOption::computeAccessibilityIsIgnored):
2632         * accessibility/AccessibilityMenuListOption.h:
2633         (AccessibilityMenuListOption):
2634         * accessibility/AccessibilityMenuListPopup.cpp:
2635         (WebCore::AccessibilityMenuListPopup::computeAccessibilityIsIgnored):
2636         * accessibility/AccessibilityMenuListPopup.h:
2637         (AccessibilityMenuListPopup):
2638         * accessibility/AccessibilityNodeObject.cpp:
2639         (WebCore::AccessibilityNodeObject::computeAccessibilityIsIgnored):
2640         * accessibility/AccessibilityNodeObject.h:
2641         (AccessibilityNodeObject):
2642         * accessibility/AccessibilityObject.cpp:
2643         (WebCore::AccessibilityObject::accessibilityIsIgnored):
2644         (WebCore):
2645         * accessibility/AccessibilityObject.h:
2646         (AccessibilityObject):
2647         (WebCore::AccessibilityObject::computeAccessibilityIsIgnored):
2648         * accessibility/AccessibilityProgressIndicator.cpp:
2649         (WebCore::AccessibilityProgressIndicator::computeAccessibilityIsIgnored):
2650         * accessibility/AccessibilityProgressIndicator.h:
2651         (AccessibilityProgressIndicator):
2652         * accessibility/AccessibilityRenderObject.cpp:
2653         (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
2654         * accessibility/AccessibilityRenderObject.h:
2655         (AccessibilityRenderObject):
2656         * accessibility/AccessibilityScrollView.cpp:
2657         (WebCore::AccessibilityScrollView::computeAccessibilityIsIgnored):
2658         * accessibility/AccessibilityScrollView.h:
2659         (AccessibilityScrollView):
2660         * accessibility/AccessibilityScrollbar.h:
2661         (WebCore::AccessibilityScrollbar::computeAccessibilityIsIgnored):
2662         * accessibility/AccessibilitySlider.cpp:
2663         (WebCore::AccessibilitySlider::computeAccessibilityIsIgnored):
2664         (WebCore::AccessibilitySliderThumb::computeAccessibilityIsIgnored):
2665         * accessibility/AccessibilitySlider.h:
2666         (AccessibilitySlider):
2667         (AccessibilitySliderThumb):
2668         * accessibility/AccessibilitySpinButton.h:
2669         (WebCore::AccessibilitySpinButton::computeAccessibilityIsIgnored):
2670         (WebCore::AccessibilitySpinButtonPart::computeAccessibilityIsIgnored):
2671         * accessibility/AccessibilityTable.cpp:
2672         (WebCore::AccessibilityTable::computeAccessibilityIsIgnored):
2673         * accessibility/AccessibilityTable.h:
2674         (AccessibilityTable):
2675         * accessibility/AccessibilityTableCell.cpp:
2676         (WebCore::AccessibilityTableCell::computeAccessibilityIsIgnored):
2677         * accessibility/AccessibilityTableCell.h:
2678         (AccessibilityTableCell):
2679         * accessibility/AccessibilityTableColumn.cpp:
2680         (WebCore::AccessibilityTableColumn::computeAccessibilityIsIgnored):
2681         * accessibility/AccessibilityTableColumn.h:
2682         (AccessibilityTableColumn):
2683         * accessibility/AccessibilityTableHeaderContainer.cpp:
2684         (WebCore::AccessibilityTableHeaderContainer::computeAccessibilityIsIgnored):
2685         * accessibility/AccessibilityTableHeaderContainer.h:
2686         (AccessibilityTableHeaderContainer):
2687         * accessibility/AccessibilityTableRow.cpp:
2688         (WebCore::AccessibilityTableRow::computeAccessibilityIsIgnored):
2689         * accessibility/AccessibilityTableRow.h:
2690         (AccessibilityTableRow):
2691
2692 2013-02-09  David Farler  <dfarler@apple.com>
2693
2694         Make TestWebKitAPI work for iOS
2695         https://bugs.webkit.org/show_bug.cgi?id=108978
2696
2697         Reviewed by David Kilzer.
2698
2699         Tests already exist - refactor only.
2700
2701         * WebCore.exp.in: Lumped __ZNK7WebCore4KURL7hasPathEv with related methods.
2702         * platform/KURL.cpp: Inlined hasPath() into the header
2703         * platform/KURL.h: Inlined hasPath() into the header
2704
2705 2013-02-09  Adam Barth  <abarth@webkit.org>
2706
2707         Load event fires too early with threaded HTML parser
2708         https://bugs.webkit.org/show_bug.cgi?id=108984
2709
2710         Reviewed by Eric Seidel.
2711
2712         Previously, the DocumentLoader would always be on the stack when the
2713         HTMLDocumentParser was processing data from the network.  The
2714         DocumentLoader would then tell isLoadingInAPISense not to fire the load
2715         event.  Now that we process data asynchronously with the threaded
2716         parser, the DocumentLoader is not always on the stack, which means we
2717         need to delay the load event using the clause that asks the parser
2718         whether it is processing data.
2719
2720         Unfortunately, that clause is fragile because we can check for load
2721         completion while we're switching parsers between the network-created
2722         parser and a script-created parser. To avoid accidentially triggerin
2723         the load event during these "gaps," this patch introduces a counter on
2724         document to record how many parsers are active on the stack.  While
2725         that numer is non-zero, we'll delay the load event. When that number
2726         reaches zero, we'll check for load complete.
2727
2728         That last step is required because the DocumentLoader::finishLoading
2729         method is no longer guarunteed to check for load complete after calling
2730         finish on the parser because the finish operation might complete
2731         asynchronously.
2732
2733         After this patch, the threaded parser passes all but four fast/parser
2734         tests.
2735
2736         * dom/Document.cpp:
2737         (WebCore::Document::Document):
2738         (WebCore::Document::hasActiveParser):
2739         (WebCore):
2740         (WebCore::Document::decrementActiveParserCount):
2741         * dom/Document.h:
2742         (Document):
2743         (WebCore::Document::incrementActiveParserCount):
2744         * html/parser/HTMLDocumentParser.cpp:
2745         (WebCore::HTMLDocumentParser::processParsedChunkFromBackgroundParser):
2746         (WebCore::HTMLDocumentParser::pumpTokenizer):
2747         * html/parser/HTMLParserScheduler.cpp:
2748         (WebCore::ActiveParserSession::ActiveParserSession):
2749         (WebCore):
2750         (WebCore::ActiveParserSession::~ActiveParserSession):
2751         (WebCore::PumpSession::PumpSession):
2752         (WebCore::PumpSession::~PumpSession):
2753         * html/parser/HTMLParserScheduler.h:
2754         (WebCore):
2755         (ActiveParserSession):
2756         (PumpSession):
2757         * loader/DocumentLoader.cpp:
2758         (WebCore::DocumentLoader::isLoadingInAPISense):
2759
2760 2013-02-09  Mike West  <mkwst@chromium.org>
2761
2762         Use IGNORE_EXCEPTION for initialized, but unused, ExceptionCodes.
2763         https://bugs.webkit.org/show_bug.cgi?id=109295
2764
2765         Reviewed by Darin Adler.
2766
2767         The monster patch in http://wkbug.com/108771 missed an entire class of
2768         ignored exceptions. It only dealt with call sites that never initialized
2769         the ExceptionCode variable, on the assumption that only such call sites
2770         would ignore the variable's value.
2771
2772         That was a flawed assumption: a large number of sites that initialize the
2773         ExceptionCode to 0 ignore it regardless. This patch deals with the
2774         almost-as-large set of callsites that initialize the variable, pass it to
2775         a function, and then never touch it again.
2776
2777         * Modules/indexeddb/IDBDatabase.cpp:
2778         (WebCore::IDBDatabase::forceClose):
2779         * accessibility/AccessibilityRenderObject.cpp:
2780         (WebCore::AccessibilityRenderObject::ariaSelectedTextRange):
2781         (WebCore::AccessibilityRenderObject::visiblePositionForIndex):
2782         (WebCore::AccessibilityRenderObject::indexForVisiblePosition):
2783         * accessibility/atk/WebKitAccessibleInterfaceText.cpp:
2784         (getSelectionOffsetsForObject):
2785         * accessibility/atk/WebKitAccessibleUtil.cpp:
2786         (selectionBelongsToObject):
2787         * dom/Node.cpp:
2788         (WebCore::Node::textRects):
2789         * editing/DeleteButtonController.cpp:
2790         (WebCore::DeleteButtonController::hide):
2791         * editing/EditingStyle.cpp:
2792         (WebCore::EditingStyle::styleAtSelectionStart):
2793         * editing/Editor.cpp:
2794         (WebCore::Editor::canDeleteRange):
2795         (WebCore::Editor::pasteAsPlainText):
2796         (WebCore::Editor::pasteAsFragment):
2797         (WebCore::Editor::shouldDeleteRange):
2798         (WebCore::Editor::dispatchCPPEvent):
2799         (WebCore::Editor::setComposition):
2800         (WebCore::Editor::advanceToNextMisspelling):
2801         (WebCore::isFrameInRange):
2802         * editing/EditorCommand.cpp:
2803         (WebCore::expandSelectionToGranularity):
2804         * editing/MergeIdenticalElementsCommand.cpp:
2805         (WebCore::MergeIdenticalElementsCommand::doApply):
2806         * editing/SplitElementCommand.cpp:
2807         (WebCore::SplitElementCommand::doUnapply):
2808         * editing/SplitTextNodeCommand.cpp:
2809         (WebCore::SplitTextNodeCommand::doApply):
2810         * editing/TextCheckingHelper.cpp:
2811         (WebCore::expandToParagraphBoundary):
2812         (WebCore::TextCheckingHelper::findFirstMisspellingOrBadGrammar):
2813         (WebCore::TextCheckingHelper::isUngrammatical):
2814         (WebCore::TextCheckingHelper::guessesForMisspelledOrUngrammaticalRange):
2815         * editing/TextInsertionBaseCommand.cpp:
2816         (WebCore::dispatchBeforeTextInsertedEvent):
2817         (WebCore::canAppendNewLineFeedToSelection):
2818         * editing/TextIterator.cpp:
2819         (WebCore::findPlainText):
2820         * editing/htmlediting.cpp:
2821         (WebCore::extendRangeToWrappingNodes):
2822         (WebCore::isNodeVisiblyContainedWithin):
2823         * editing/visible_units.cpp:
2824         (WebCore::nextBoundary):
2825         * html/FileInputType.cpp:
2826         (WebCore::FileInputType::createShadowSubtree):
2827         * html/HTMLKeygenElement.cpp:
2828         (WebCore::HTMLKeygenElement::HTMLKeygenElement):
2829         * html/HTMLScriptElement.cpp:
2830         (WebCore::HTMLScriptElement::setText):
2831         * html/HTMLTitleElement.cpp:
2832         (WebCore::HTMLTitleElement::setText):
2833         * html/HTMLTrackElement.cpp:
2834         (WebCore::HTMLTrackElement::didCompleteLoad):
2835         * html/RangeInputType.cpp:
2836         (WebCore::RangeInputType::createShadowSubtree):
2837         * html/SearchInputType.cpp:
2838         (WebCore::SearchInputType::createShadowSubtree):
2839         * html/TextFieldInputType.cpp:
2840         (WebCore::TextFieldInputType::createShadowSubtree):
2841         * html/track/TextTrackList.cpp:
2842         (TextTrackList::asyncEventTimerFired):
2843         * inspector/DOMPatchSupport.cpp:
2844         (WebCore::DOMPatchSupport::patchDocument):
2845         * inspector/InspectorDatabaseAgent.cpp:
2846         (WebCore):
2847         * inspector/InspectorFileSystemAgent.cpp:
2848         (WebCore):
2849         * page/DOMSelection.cpp:
2850         (WebCore::DOMSelection::addRange):
2851         * page/DragController.cpp:
2852         (WebCore::DragController::dispatchTextInputEventFor):
2853         * page/EventHandler.cpp:
2854         (WebCore::EventHandler::dispatchMouseEvent):
2855         (WebCore::EventHandler::handleTouchEvent):
2856         * page/FrameActionScheduler.cpp:
2857         (WebCore::EventFrameAction::fire):
2858         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2859         (WebCore::MediaPlayerPrivateAVFoundationObjC::shouldWaitForLoadingOfResource):
2860         * svg/SVGDocument.cpp:
2861         (WebCore::SVGDocument::dispatchZoomEvent):
2862         (WebCore::SVGDocument::dispatchScrollEvent):
2863         * svg/SVGLength.cpp:
2864         (WebCore::SVGLength::SVGLength):
2865         (WebCore::SVGLength::value):
2866         * xml/parser/XMLDocumentParser.cpp:
2867         (WebCore::XMLDocumentParser::exitText):
2868         * xml/parser/XMLDocumentParserQt.cpp:
2869         (WebCore::XMLDocumentParser::parse):
2870         (WebCore::XMLDocumentParser::startDocument):
2871         (WebCore::XMLDocumentParser::parseCharacters):
2872
2873 2013-02-09  Stephen White  <senorblanco@chromium.org>
2874
2875         [skia] Fix memory management in SkiaImageFilterBuilder and friends.
2876         https://bugs.webkit.org/show_bug.cgi?id=109326
2877
2878         Sadly, skia has no official ref-counted pointers, so we must make do
2879         with SkAutoTUnref.
2880
2881         Reviewed by James Robinson.
2882
2883         Correctness covered by existing tests in css3/filters.
2884
2885         * platform/graphics/filters/skia/FEBlendSkia.cpp:
2886         (WebCore::FEBlend::createImageFilter):
2887         * platform/graphics/filters/skia/FEComponentTransferSkia.cpp:
2888         (WebCore::FEComponentTransfer::createImageFilter):
2889         * platform/graphics/filters/skia/FELightingSkia.cpp:
2890         (WebCore::FELighting::createImageFilter):
2891         Adopt refs produced by the build() pass with SkAutoTUnref.
2892         * platform/graphics/filters/skia/SkiaImageFilterBuilder.cpp:
2893         (WebCore::SkiaImageFilterBuilder::~SkiaImageFilterBuilder):
2894         Unref the builder's hashmap effect pointers.
2895         (WebCore::SkiaImageFilterBuilder::build):
2896         Ref the pointer returned to the caller, and use SkAutoTUnref
2897         internally while building the tree.
2898         * platform/graphics/filters/skia/SkiaImageFilterBuilder.h:
2899         (SkiaImageFilterBuilder):
2900         Add a destructor to SkiaImageFilterBuilder.
2901
2902
2903 2013-02-09  Dominic Mazzoni  <dmazzoni@google.com>
2904
2905         AX: Rename AXObject::cachedIsIgnoredValue to lastKnownIsIgnoredValue
2906         https://bugs.webkit.org/show_bug.cgi?id=108238
2907
2908         Reviewed by Chris Fleizach.
2909
2910         Simple refactoring, no new tests.
2911
2912         * accessibility/AXObjectCache.cpp:
2913         (WebCore::AXObjectCache::getOrCreate):
2914         (WebCore::AXObjectCache::childrenChanged):
2915         * accessibility/AccessibilityObject.cpp:
2916         (WebCore::AccessibilityObject::AccessibilityObject):
2917         (WebCore::AccessibilityObject::lastKnownIsIgnoredValue):
2918         (WebCore::AccessibilityObject::setLastKnownIsIgnoredValue):
2919         (WebCore::AccessibilityObject::notifyIfIgnoredValueChanged):
2920         * accessibility/AccessibilityObject.h:
2921         (AccessibilityObject):
2922
2923 2013-02-09  Anton Vayvod  <avayvod@chromium.org>
2924  
2925         [Text Autosizing] Cleanup change: converter the pointer argument to be a reference since
2926         non-null pointer is always expected.
2927         https://bugs.webkit.org/show_bug.cgi?id=109079
2928  
2929         Reviewed by Kenneth Rohde Christiansen.
2930  
2931         Cleanup change, no need to add new tests or modify the existing ones.
2932  
2933         * rendering/TextAutosizer.cpp:
2934  
2935         Changed parameter from a pointer to a reference in the methods below.
2936  
2937         (WebCore::TextAutosizer::processSubtree):
2938         (WebCore::TextAutosizer::processCluster):
2939         (WebCore::TextAutosizer::processContainer):
2940         (WebCore::TextAutosizer::isNarrowDescendant):
2941         (WebCore::TextAutosizer::isWiderDescendant):
2942         (WebCore::TextAutosizer::isAutosizingCluster):
2943         (WebCore::TextAutosizer::clusterShouldBeAutosized):
2944         (WebCore::TextAutosizer::measureDescendantTextWidth):
2945  
2946         * rendering/TextAutosizer.h: updated method prototypes.
2947
2948 2013-02-09  Rafael Brandao  <rafael.lobo@openbossa.org>
2949
2950         [TexMap] Separate classes per file in TextureMapperBackingStore.h
2951         https://bugs.webkit.org/show_bug.cgi?id=109333
2952
2953         Reviewed by Noam Rosenthal.
2954
2955         TextureMapperBackingStore.h had the classes TextureMapperBackingStore,
2956         TextureMapperTiledBackingStore, TextureMapperSurfaceBackingStore and
2957         TextureMapperTile which was quite confusing. Now each one has its
2958         own header and its own source file.
2959
2960         No new tests needed, refactoring only.
2961
2962         * CMakeLists.txt:
2963         * GNUmakefile.list.am:
2964         * Target.pri:
2965         * WebCore.gypi:
2966         * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
2967         * platform/graphics/texmap/TextureMapperBackingStore.cpp:
2968         * platform/graphics/texmap/TextureMapperBackingStore.h:
2969         * platform/graphics/texmap/TextureMapperSurfaceBackingStore.cpp: Added.
2970         (WebCore):
2971         (WebCore::TextureMapperSurfaceBackingStore::setGraphicsSurface):
2972         (WebCore::TextureMapperSurfaceBackingStore::swapBuffersIfNeeded):
2973         (WebCore::TextureMapperSurfaceBackingStore::texture):
2974         (WebCore::TextureMapperSurfaceBackingStore::paintToTextureMapper):
2975         * platform/graphics/texmap/TextureMapperSurfaceBackingStore.h: Added.
2976         (WebCore):
2977         (TextureMapperSurfaceBackingStore):
2978         (WebCore::TextureMapperSurfaceBackingStore::create):
2979         (WebCore::TextureMapperSurfaceBackingStore::~TextureMapperSurfaceBackingStore):
2980         (WebCore::TextureMapperSurfaceBackingStore::TextureMapperSurfaceBackingStore):
2981         * platform/graphics/texmap/TextureMapperTile.cpp: Added.
2982         (WebCore):
2983         (WebCore::TextureMapperTile::updateContents):
2984         (WebCore::TextureMapperTile::paint):
2985         * platform/graphics/texmap/TextureMapperTile.h: Added.
2986         (WebCore):
2987         (TextureMapperTile):
2988         (WebCore::TextureMapperTile::texture):
2989         (WebCore::TextureMapperTile::rect):
2990         (WebCore::TextureMapperTile::setTexture):
2991         (WebCore::TextureMapperTile::setRect):
2992         (WebCore::TextureMapperTile::~TextureMapperTile):
2993         (WebCore::TextureMapperTile::TextureMapperTile):
2994         * platform/graphics/texmap/TextureMapperTiledBackingStore.cpp: Copied from Source/WebCore/platform/graphics/texmap/TextureMapperBackingStore.cpp.
2995         (WebCore):
2996         (WebCore::TextureMapperTiledBackingStore::TextureMapperTiledBackingStore):
2997         (WebCore::TextureMapperTiledBackingStore::updateContentsFromImageIfNeeded):
2998         (WebCore::TextureMapperTiledBackingStore::adjustedTransformForRect):
2999         (WebCore::TextureMapperTiledBackingStore::paintToTextureMapper):
3000         (WebCore::TextureMapperTiledBackingStore::drawBorder):
3001         (WebCore::TextureMapperTiledBackingStore::drawRepaintCounter):
3002         (WebCore::TextureMapperTiledBackingStore::createOrDestroyTilesIfNeeded):
3003         (WebCore::TextureMapperTiledBackingStore::updateContents):
3004         (WebCore::TextureMapperTiledBackingStore::texture):
3005         * platform/graphics/texmap/TextureMapperTiledBackingStore.h: Added.
3006         (WebCore):
3007         (TextureMapperTiledBackingStore):
3008         (WebCore::TextureMapperTiledBackingStore::create):
3009         (WebCore::TextureMapperTiledBackingStore::~TextureMapperTiledBackingStore):
3010         (WebCore::TextureMapperTiledBackingStore::setContentsToImage):
3011         (WebCore::TextureMapperTiledBackingStore::rect):
3012         * platform/graphics/texmap/coordinated/CoordinatedBackingStore.h:
3013         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
3014
3015 2013-02-09  Philip Rogers  <pdr@google.com>
3016
3017         Sanitize m_keyTimes for paced value animations
3018         https://bugs.webkit.org/show_bug.cgi?id=108828
3019
3020         Reviewed by Dirk Schulze.
3021
3022         SVG animations with calcMode=paced calculate new m_keyTimes in
3023         SVGAnimationElement::calculateKeyTimesForCalcModePaced() because paced animations do not
3024         specify keyTimes. If an error occurs while calculating m_keyTimes, and there exists
3025         user-specified values, a crash could occur because the user-specified values were not
3026         sanitized.
3027
3028         This change clears user-specified keyTimes before calculating new ones.
3029
3030         Test: svg/animations/animate-keytimes-crash.html
3031
3032         * svg/SVGAnimationElement.cpp:
3033         (WebCore::SVGAnimationElement::calculateKeyTimesForCalcModePaced):
3034
3035 2013-02-09  Eric Seidel  <eric@webkit.org>
3036
3037         Fix TextDocumentParser to play nice with threading
3038         https://bugs.webkit.org/show_bug.cgi?id=109240
3039
3040         Reviewed by Adam Barth.
3041
3042         Before the HTML5 parser re-write the text document parser
3043         was completely custom.  With the HTML5 parser, we just made
3044         the TextDocumentParser use the HTMLDocumentParser with an
3045         artificial script tag.
3046
3047         However, our solution was slightly over-engineered to avoid
3048         lying about the column numbers of the first line of the text document
3049         during parsing. :)
3050
3051         This change makes us use a simpler (and threading-compatible)
3052         solution by just inserting a real "<pre>" tag into the
3053         input stream instead of hacking one together with the treebuilder
3054         and manually setting the Tokenizer state.
3055
3056         fast/parser/empty-text-resource.html covers this case.
3057
3058         * html/parser/TextDocumentParser.cpp:
3059         (WebCore::TextDocumentParser::TextDocumentParser):
3060         (WebCore::TextDocumentParser::insertFakePreElement):
3061
3062 2013-02-09  Kent Tamura  <tkent@chromium.org>
3063
3064         Add missing copyright header
3065         https://bugs.webkit.org/show_bug.cgi?id=107507
3066
3067         * Resources/pagepopups/chromium/calendarPickerChromium.css:
3068         * Resources/pagepopups/chromium/pickerCommonChromium.css:
3069
3070 2013-02-09  Kent Tamura  <tkent@chromium.org>
3071
3072         Fix crash by img[ismap] with content property
3073         https://bugs.webkit.org/show_bug.cgi?id=108702
3074
3075         Reviewed by Adam Barth.
3076
3077         Test: fast/dom/HTMLAnchorElement/anchor-ismap-crash.html
3078
3079         * html/HTMLAnchorElement.cpp:
3080         (WebCore::appendServerMapMousePosition):
3081         Check if the renderer of an img element is RenderImage.
3082
3083 2013-02-09  Mike West  <mkwst@chromium.org>
3084
3085         Drop ExceptionCode from IDB's directionToString and modeToString.
3086         https://bugs.webkit.org/show_bug.cgi?id=109143
3087
3088         Reviewed by Jochen Eisinger.
3089
3090         No caller of either IDBCursor::directionToString or
3091         IDBTransaction::modeToString makes use of the ExceptionCode these
3092         methods require. This patch removes the 'ExceptionCode&' parameter from
3093         both methods and their callsites.
3094
3095         * Modules/indexeddb/IDBCursor.cpp:
3096         (WebCore::IDBCursor::direction):
3097         (WebCore::IDBCursor::directionToString):
3098             Drop the 'ExceptionCode&' parameter, and replace the 'TypeError'
3099             exception previously generated with ASSERT_NOT_REACHED.
3100         * Modules/indexeddb/IDBCursor.h:
3101         * Modules/indexeddb/IDBTransaction.cpp:
3102         (WebCore::IDBTransaction::mode):
3103         (WebCore::IDBTransaction::modeToString):
3104             Drop the 'ExceptionCode&' parameter, and replace the 'TypeError'
3105             exception previously generated with ASSERT_NOT_REACHED.
3106         * Modules/indexeddb/IDBTransaction.h:
3107
3108 2013-02-09  Kondapally Kalyan  <kalyan.kondapally@intel.com>
3109
3110         [EFL][Qt][WebGL] Share the common code between GraphicsSurfaceGLX and X11WindowResources.
3111         https://bugs.webkit.org/show_bug.cgi?id=106666
3112
3113         Reviewed by Kenneth Rohde Christiansen.
3114
3115         Covered by existing WebGL tests.
3116
3117         This patch removes any duplicate code in X11WindowResources and
3118         GraphicsSurfaceGLX. No new functionality is added.
3119
3120         * PlatformEfl.cmake:
3121         * Target.pri:
3122         * platform/graphics/surfaces/egl/EGLConfigSelector.cpp:
3123         (WebCore::EGLConfigSelector::pixmapContextConfig):
3124         * platform/graphics/surfaces/egl/EGLConfigSelector.h:
3125         (EGLConfigSelector):
3126         * platform/graphics/surfaces/egl/EGLSurface.cpp:
3127         (WebCore::EGLWindowTransportSurface::EGLWindowTransportSurface):
3128         (WebCore::EGLWindowTransportSurface::destroy):
3129         (WebCore::EGLWindowTransportSurface::setGeometry):
3130         * platform/graphics/surfaces/egl/EGLSurface.h:
3131         (WebCore):
3132         (EGLWindowTransportSurface):
3133         * platform/graphics/surfaces/glx/GLXConfigSelector.h:
3134         (WebCore::GLXConfigSelector::GLXConfigSelector):
3135         (WebCore::GLXConfigSelector::visualInfo):
3136         (WebCore::GLXConfigSelector::pBufferContextConfig):
3137         (WebCore::GLXConfigSelector::createSurfaceConfig):
3138         (GLXConfigSelector):
3139         * platform/graphics/surfaces/glx/GLXContext.cpp:
3140         (WebCore::initializeARBExtensions):
3141         (WebCore::GLXOffScreenContext::GLXOffScreenContext):
3142         (WebCore::GLXOffScreenContext::initialize):
3143         (WebCore::GLXOffScreenContext::platformReleaseCurrent):
3144         (WebCore::GLXOffScreenContext::freeResources):
3145         * platform/graphics/surfaces/glx/GLXContext.h:
3146         (GLXOffScreenContext):
3147         * platform/graphics/surfaces/glx/GLXSurface.cpp:
3148         (WebCore::GLXTransportSurface::GLXTransportSurface):
3149         (WebCore::GLXTransportSurface::setGeometry):
3150         (WebCore::GLXTransportSurface::destroy):
3151         (WebCore::GLXPBuffer::initialize):
3152         * platform/graphics/surfaces/glx/GLXSurface.h:
3153         (GLXTransportSurface):
3154         (GLXPBuffer):
3155         * platform/graphics/surfaces/glx/GraphicsSurfaceGLX.cpp:
3156         (WebCore):
3157         (WebCore::GraphicsSurfacePrivate::GraphicsSurfacePrivate):
3158         (WebCore::GraphicsSurfacePrivate::initialize):
3159         (GraphicsSurfacePrivate):
3160         (WebCore::GraphicsSurfacePrivate::createSurface):
3161         (WebCore::GraphicsSurfacePrivate::createPixmap):
3162         (WebCore::GraphicsSurfacePrivate::display):
3163         (WebCore::GraphicsSurfacePrivate::flags):
3164         (WebCore::GraphicsSurfacePrivate::clear):
3165         (WebCore::GraphicsSurface::platformPaintToTextureMapper):
3166         No new functionality added. Made changes to take the common code into use.
3167
3168         * platform/graphics/surfaces/glx/X11WindowResources.h: Removed.
3169         * platform/graphics/surfaces/glx/X11Helper.cpp: Renamed from Source/WebCore/platform/graphics/surfaces/glx/X11WindowResources.cpp.
3170         (WebCore):
3171         (WebCore::DisplayConnection::DisplayConnection):
3172         (DisplayConnection):
3173         (WebCore::DisplayConnection::~DisplayConnection):
3174         (WebCore::DisplayConnection::display):
3175         (OffScreenRootWindow):
3176         (WebCore::OffScreenRootWindow::OffScreenRootWindow):
3177         (WebCore::OffScreenRootWindow::~OffScreenRootWindow):
3178         (WebCore::OffScreenRootWindow::rootWindow):
3179         (WebCore::X11Helper::resizeWindow):
3180         (WebCore::X11Helper::createOffScreenWindow):
3181         (WebCore::X11Helper::destroyWindow):
3182         (WebCore::X11Helper::isXRenderExtensionSupported):
3183         (WebCore::X11Helper::nativeDisplay):
3184         (WebCore::X11Helper::offscreenRootWindow):
3185         * platform/graphics/surfaces/glx/X11Helper.h: Added.
3186         (WebCore):
3187         (WebCore::handleXPixmapCreationError):
3188         (X11Helper):
3189         (ScopedXPixmapCreationErrorHandler):
3190         (WebCore::ScopedXPixmapCreationErrorHandler::ScopedXPixmapCreationErrorHandler):
3191         (WebCore::ScopedXPixmapCreationErrorHandler::~ScopedXPixmapCreationErrorHandler):
3192         (WebCore::ScopedXPixmapCreationErrorHandler::isValidOperation):
3193         Moved common code from GraphicsSurfaceGLX to X11Helper.
3194
3195 2013-02-09  Andrey Lushnikov  <lushnikov@chromium.org>
3196
3197         Web Inspector: show whitespace characters in DTE
3198         https://bugs.webkit.org/show_bug.cgi?id=108947
3199
3200         Reviewed by Pavel Feldman.
3201
3202         New test: inspector/editor/text-editor-show-whitespaces.html
3203
3204         Split consecutive whitespace characters into groups of 16, 8, 4, 2 and 1 and
3205         add ::before pseudoclass for this groups which contains necessary
3206         amount of "dots" (u+00b7). Add a setting "Show whitespace" for this
3207         option in "Sources" section of "General" tab.
3208
3209         * English.lproj/localizedStrings.js:
3210         * inspector/front-end/DefaultTextEditor.js:
3211         (WebInspector.TextEditorMainPanel.prototype.wasShown):
3212         (WebInspector.TextEditorMainPanel.prototype.willHide):
3213         (WebInspector.TextEditorMainPanel.prototype._renderRanges):
3214         (WebInspector.TextEditorMainPanel.prototype._renderWhitespaceCharsWithFixedSizeSpans):
3215         (WebInspector.TextEditorMainPanel.prototype._paintLine):
3216         * inspector/front-end/Settings.js:
3217         * inspector/front-end/SettingsScreen.js:
3218         (WebInspector.GenericSettingsTab):
3219         * inspector/front-end/inspectorSyntaxHighlight.css:
3220         (.webkit-whitespace-1::before):
3221         (.webkit-whitespace-2::before):
3222         (.webkit-whitespace-4::before):
3223         (.webkit-whitespace-8::before):
3224         (.webkit-whitespace-16::before):
3225         (.webkit-whitespace::before):
3226
3227 2013-02-08  Eric Carlson  <eric.carlson@apple.com>
3228
3229         [Mac] respect in-band caption color
3230         https://bugs.webkit.org/show_bug.cgi?id=109203
3231
3232         Reviewed by Dean Jackson.
3233
3234         Test: media/track/track-in-band-style.html
3235
3236         * WebCore.xcodeproj/project.pbxproj: Add HTMLDivElement.h to private headers because it is 
3237             included by HTMLTextElement, which is included by HTMLMediaElement.h, which is included 
3238             by files in WebKit/WebKit2.
3239         * html/track/InbandTextTrack.cpp:
3240         (WebCore::InbandTextTrack::addGenericCue): Set cue colors if necessary.
3241
3242         * html/track/TextTrackCue.h:
3243         (WebCore::TextTrackCue::element): New, accessor for the cue element so it can be styled.
3244
3245         * html/track/TextTrackCueGeneric.cpp:
3246         (WebCore::TextTrackCueGenericBoxElement::applyCSSProperties): Set container and cue background 
3247             color if necessary.
3248         (WebCore::TextTrackCueGeneric::operator==): Compare cue colors.
3249         * html/track/TextTrackCueGeneric.h:
3250         (WebCore::TextTrackCueGeneric::foregroundColor): Add color accessors.
3251         (WebCore::TextTrackCueGeneric::setForegroundColor):
3252         (WebCore::TextTrackCueGeneric::backgroundColor):
3253         (WebCore::TextTrackCueGeneric::setBackgroundColor):
3254
3255         * page/CaptionUserPreferencesMac.mm:
3256         (WebCore::CaptionUserPreferencesMac::registerForCaptionPreferencesChangedCallbacks): Always
3257             regenerate override CSS when an element registers for callbacks.
3258         (WebCore::CaptionUserPreferencesMac::captionsWindowCSS): Drive by fix of "window color" padding.
3259         (WebCore::CaptionUserPreferencesMac::captionsStyleSheetOverride): Log the stylesheet generated
3260             for easier debugging.
3261
3262         * platform/graphics/InbandTextTrackPrivateClient.h:
3263         (WebCore::GenericCueData::foregroundColor): Add color getters/setters.
3264         (WebCore::GenericCueData::setForegroundColor):
3265         (WebCore::GenericCueData::backgroundColor):
3266         (WebCore::GenericCueData::setBackgroundColor):
3267
3268         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
3269         (WebCore::makeRGBA32FromARGBCFArray): Initialize a RGBA32 from a CFArray of color values.
3270         (WebCore::InbandTextTrackPrivateAVF::processCueAttributes): Process cue colors.
3271
3272 2013-02-08  Benjamin Poulain  <bpoulain@apple.com>
3273
3274         Move workerThreadCount from TestRunner to WebCore Internals
3275         https://bugs.webkit.org/show_bug.cgi?id=109239
3276
3277         Reviewed by Darin Adler.
3278
3279         Add the new read-only property workerThreadCount.
3280
3281         * testing/Internals.cpp:
3282         (WebCore::Internals::workerThreadCount):
3283         (WebCore):
3284         * testing/Internals.h:
3285         (Internals):
3286         * testing/Internals.idl:
3287
3288 2013-02-08  Dean Jackson  <dino@apple.com>
3289
3290         Snapshotted plug-in should use shadow root
3291         https://bugs.webkit.org/show_bug.cgi?id=108284
3292
3293         Reviewed by Simon Fraser.
3294
3295         Take two! This time with updated exports file.
3296
3297         A snapshotted plugin needs to indicate to the user that it can be clicked
3298         to be restarted. Previously this was done with an image that had embedded
3299         text. Instead, we now use an internal shadow root to embed some markup that
3300         will display instructions that can be localised.
3301
3302         The UA stylesheet for plug-ins provides a default styling for the label, which
3303         can be overridden by ports.
3304
3305         In the process, RenderSnapshottedPlugIn no longer inherits from RenderEmbeddedObject,
3306         since it is only responsible for drawing a paused plug-in. The snapshot creation
3307         can work with the default renderer, but a shadow root requires something like
3308         RenderBlock in order to draw its children. We swap from one renderer to another when
3309         necessary either by creating the shadow root or by explicitly detaching and attaching
3310         the plugin element.
3311
3312         Unfortunately this is difficult to test, because the snapshotting requires
3313         time to execute, and also a PluginView to be instantiated.
3314
3315         * WebCore.exp.in: Export the InlineBox interface.
3316
3317         * css/plugIns.css:
3318         (object::-webkit-snapshotted-plugin-content): New rules for a default label style.
3319
3320         * platform/LocalizedStrings.cpp: Make sure all ports have plugin strings, now it is called.
3321         * platform/LocalizedStrings.h:
3322         * platform/blackberry/LocalizedStringsBlackBerry.cpp:
3323         * platform/chromium/LocalizedStringsChromium.cpp:
3324         * platform/efl/LocalizedStringsEfl.cpp:
3325         * platform/gtk/LocalizedStringsGtk.cpp:
3326         * platform/qt/LocalizedStringsQt.cpp:
3327
3328         * html/HTMLPlugInElement.cpp:
3329         (WebCore::HTMLPlugInElement::defaultEventHandler): Take into account the fact
3330         that RenderSnapshottedPlugIn no longer is an embedded object.
3331
3332         * html/HTMLPlugInImageElement.cpp:
3333         (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement): New default values in constructor.
3334         (WebCore::HTMLPlugInElement::defaultEventHandler): Make sure to call base class.
3335         (WebCore::HTMLPlugInElement::willRecalcStyle): No need to reattach if we're a snapshot.
3336         (WebCore::HTMLPlugInImageElement::createRenderer): If we're showing a snapshot, create such
3337             a renderer, otherwise use the typical plug-in path.
3338         (WebCore::HTMLPlugInImageElement::updateSnapshot): Keep a record of the snapshot, since we'll
3339             need to give it to the renderer.
3340         (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot): Build a subtree that will display a label.
3341         * html/HTMLPlugInImageElement.h:
3342         (HTMLPlugInImageElement): New member variable to record the snapshot image and whether the label
3343             should show immediately.
3344         (WebCore::HTMLPlugInImageElement::swapRendererTimerFired): The callback function triggered when we need
3345             to swap to the Shadow Root.
3346         (WebCore::HTMLPlugInImageElement::userDidClickSnapshot): The user has tapped on the snapshot so the plugin
3347             in being recreated. Make sure we reattach so that a plugin renderer will be created.
3348         (WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): Make sure we set the right
3349             displayState for snapshots.
3350         * html/HTMLPlugInImageElement.h:
3351         (HTMLPlugInImageElement): The new methods listed above.
3352         (WebCore::HTMLPlugInImageElement::setShouldShowSnapshotLabelAutomatically): Indicates whether or not
3353             a snapshot should be immediately labeled.
3354
3355         * page/ChromeClient.h: No need for plugInStartLabelImage any more.
3356
3357         * rendering/RenderSnapshottedPlugIn.cpp:
3358         (WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn): New inheritance.
3359         (WebCore::RenderSnapshottedPlugIn::paint): If we're in the background paint phase, render the snapshot image.
3360         (WebCore::RenderSnapshottedPlugIn::paintSnapshotImage): Rename.
3361         (WebCore::RenderSnapshottedPlugIn::paintSnapshot): Rename.
3362         (WebCore::RenderSnapshottedPlugIn::paintSnapshotWithLabel): Rename. No need for label sizes.
3363         (WebCore::RenderSnapshottedPlugIn::getCursor):
3364         (WebCore::RenderSnapshottedPlugIn::handleEvent): The renderer doesn't restart the plug-in any more. Tell the element and it will do it.
3365         * rendering/RenderSnapshottedPlugIn.h:
3366         (RenderSnapshottedPlugIn): New inheritance. Some method renaming.
3367
3368 2013-02-08  Dean Jackson  <dino@apple.com>
3369
3370         Rolling out r142333 and r142337 which broke Mac Release builds.
3371
3372 2013-02-08  Sheriff Bot  <webkit.review.bot@gmail.com>
3373
3374         Unreviewed, rolling out r142337.
3375         http://trac.webkit.org/changeset/142337
3376         https://bugs.webkit.org/show_bug.cgi?id=109339
3377
3378         Breaking Mac release builds (Requested by dino_ on #webkit).
3379
3380         * rendering/RenderSnapshottedPlugIn.h:
3381
3382 2013-02-08  Dean Jackson  <dino@apple.com>
3383
3384         Attempted Mac and GTK build fix after r142333.
3385
3386         * rendering/RenderSnapshottedPlugIn.h: Include InlineBox.h.
3387
3388 2013-02-08  Andy Estes  <aestes@apple.com>
3389
3390         Restore pre-r118852 behavior for EllipsisBox::nodeAtPoint()
3391         https://bugs.webkit.org/show_bug.cgi?id=109277
3392
3393         Reviewed by Simon Fraser.
3394
3395         Test: fast/flexbox/line-clamp-link-after-ellipsis.html
3396
3397         Roll out r118852. Enough time has passed that this can't be done
3398         mechanically, so transcribe the old method definition to current
3399         WebCore interfaces.
3400
3401         * rendering/EllipsisBox.cpp:
3402         (WebCore::EllipsisBox::markupBox): EllipsisBox no longer has
3403         m_markupBox, so break the logic for finding the markup box from
3404         paintMarkupBox() into its own function.
3405         (WebCore::EllipsisBox::paintMarkupBox): Call markupBox().
3406         (WebCore::EllipsisBox::nodeAtPoint): Transcribe the pre-r118852 implementation.
3407         * rendering/EllipsisBox.h:
3408         (EllipsisBox): Declare markupBox().
3409
3410 2013-02-08  Eric Carlson  <eric.carlson@apple.com>
3411
3412         [Mac] In-band closed caption tracks are not always initialized correctly
3413         https://bugs.webkit.org/show_bug.cgi?id=109323
3414
3415         Reviewed by Dean Jackson.
3416
3417         No new tests, this fix makes existing tests less flakey.
3418
3419         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
3420         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem): Create and configure legible output
3421             here instad of in tracksChanged.
3422         (WebCore::MediaPlayerPrivateAVFoundationObjC::setClosedCaptionsVisible): Do nothing in a build with
3423             in-band track support.
3424         (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): Move legible output creation to 
3425             createAVPlayerItem, don't set look at track media type to see if the movie has captions 
3426             when we have support for in-band captions.
3427
3428 2013-02-08  Dean Jackson  <dino@apple.com>
3429
3430         Snapshotted plug-in should use shadow root
3431         https://bugs.webkit.org/show_bug.cgi?id=108284
3432
3433         Reviewed by Simon Fraser.
3434
3435         A snapshotted plugin needs to indicate to the user that it can be clicked
3436         to be restarted. Previously this was done with an image that had embedded
3437         text. Instead, we now use an internal shadow root to embed some markup that
3438         will display instructions that can be localised.
3439
3440         The UA stylesheet for plug-ins provides a default styling for the label, which
3441         can be overridden by ports.
3442
3443         In the process, RenderSnapshottedPlugIn no longer inherits from RenderEmbeddedObject,
3444         since it is only responsible for drawing a paused plug-in. The snapshot creation
3445  &nbs