Unreviewed, rolling out r129086.
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-09-21  Sheriff Bot  <webkit.review.bot@gmail.com>
2
3         Unreviewed, rolling out r129086.
4         http://trac.webkit.org/changeset/129086
5         https://bugs.webkit.org/show_bug.cgi?id=97312
6
7         Broke input rendering (Requested by shinyak on #webkit).
8
9         * html/BaseButtonInputType.cpp:
10         (WebCore):
11         * html/BaseButtonInputType.h:
12         (WebCore::BaseButtonInputType::BaseButtonInputType):
13         (BaseButtonInputType):
14         * html/FileInputType.cpp:
15         (WebCore::UploadButtonElement::create):
16         (WebCore::UploadButtonElement::createForMultiple):
17         * html/HTMLInputElement.cpp:
18         (WebCore::HTMLInputElement::parseAttribute):
19         * html/InputType.cpp:
20         * html/InputType.h:
21         (InputType):
22         * rendering/RenderButton.cpp:
23         (WebCore::RenderButton::RenderButton):
24         (WebCore::RenderButton::styleDidChange):
25         (WebCore::RenderButton::updateFromElement):
26         (WebCore):
27         (WebCore::RenderButton::setText):
28         (WebCore::RenderButton::text):
29         * rendering/RenderButton.h:
30         (RenderButton):
31
32 2012-09-21  Kihong Kwon  <kihong.kwon@samsung.com>
33
34         Remove useless class prototypes from Vibration.h
35         https://bugs.webkit.org/show_bug.cgi?id=97304
36
37         Reviewed by Kentaro Hara.
38
39         Remove two useless class prototype statements in the Vibration.h
40
41         * Modules/vibration/Vibration.h:
42
43 2012-09-21  Keishi Hattori  <keishi@webkit.org>
44
45         Prepare CalendarPicker so we can add another picker, SuggetionPicker
46         https://bugs.webkit.org/show_bug.cgi?id=97193
47
48         Reviewed by Kent Tamura.
49
50         Preparation so we can add another picker to CalendarPicker and switch
51         between them.
52
53         No new tests. No behavior change.
54
55         * Resources/pagepopups/calendarPicker.css:
56         (.calendar-picker): Added so we can apply these styles just to calendar picker.
57         * Resources/pagepopups/calendarPicker.js:
58         (CalendarPicker.validateConfig): Renamed so each picker can validate the config object.
59         (initialize):
60         (closePicker): Call Picker.cleanup().
61         (openCalendarPicker):
62         (CalendarPicker):
63         (CalendarPicker.prototype.cleanup): Cleanup event listener on document.body.
64         * Resources/pagepopups/pickerCommon.js:
65         (Picker.prototype.cleanup):
66
67 2012-09-20  John Mellor  <johnme@chromium.org>
68
69         Text Autosizing: Cluster text at flow roots, for consistency and to avoid autosizing headers/footers.
70         https://bugs.webkit.org/show_bug.cgi?id=97025
71
72         Reviewed by Julien Chaffraix.
73
74         This patch has 3 main changes:
75
76         1. All text within a "cluster" (roughly equivalent to a CSS flow root /
77            block formatting context) must have a uniform textAutosizingMultiplier,
78            except for subtrees which are themselves clusters. This improves the
79            consistency of the final output, since sibling blocks are now more
80            likely to have the same multiplier (hence grow in proportion).
81
82         2. Clusters must contain a minimum amount of text in order to be
83            autosized (4 lines of text, assuming each char is 1em wide, so about
84            2 lines of text in practice). This is to reduce the likelihood of
85            autosizing things like headers and footers, which can be quite
86            visually distracting. The rationale is that if a cluster contains
87            very few lines of text then it's ok to have to zoom in and pan from
88            side to side to read each line, since if there are very few lines of
89            text you'll only need to pan across once or twice.
90
91         3. To avoid adding a 3rd tree traversal, processSubtree/processBox were
92            refactored such that all of Text Autosizing now happens as a single
93            tree traversal (hence halving the number of tree traversals done).
94
95         Tests: fast/text-autosizing/cluster-narrow-in-wide.html
96                fast/text-autosizing/cluster-wide-in-narrow.html
97                fast/text-autosizing/clusters-insufficient-text.html
98                fast/text-autosizing/clusters-insufficient-width.html
99                fast/text-autosizing/clusters-sufficient-text-except-in-root.html
100                fast/text-autosizing/clusters-sufficient-width.html
101
102         * rendering/TextAutosizer.cpp:
103         (TextAutosizingWindowInfo):
104
105             Added this struct to bundle together the various sizes that
106             processSubtree needs to pass to every recursive call to
107             processCluster and processContainer.
108
109         (WebCore::TextAutosizer::processSubtree):
110
111             - Bundle windowSize and minLayoutSize together as a single struct,
112               TextAutosizingWindowInfo, rather than passing them separately.
113             - Walk up the tree to find the current cluster and container, rather
114               than (incorrectly) assuming that the layoutRoot is always a
115               container.
116             - Call processCluster instead of traversing the tree.
117
118         (WebCore::TextAutosizer::processCluster):
119
120             Calculates the multiplier based on the width of the cluster (moved
121             the calculation here from processBox, since now the multiplier is
122             fixed per cluster), and delegates to processContainer for the actual
123             tree traversal (since clusters are also containers).
124
125         (WebCore::contentHeightIsConstrained):
126
127             Changed parameter to RenderBlock.
128
129         (WebCore::TextAutosizer::processContainer):
130
131             This now takes care of the whole tree traversal, recursively calling
132             processCluster/processContainer when it encounters such an object,
133             and setMultiplier on RenderText objects (as processBox used to).
134             Also added a check that the RenderText's multiplier is not already
135             equal to the target multiplier (to save needlessly setting it).
136
137         (WebCore::TextAutosizer::isContainer):
138
139             - Changed to be a positive (is) instead of negative (isNot) check.
140             - Require objects to be RenderBlocks so it's easier to find them
141               using containingBlock, and there don't seem to be many interesting
142               RenderBoxes that aren't RenderBlocks.
143
144         (WebCore::TextAutosizer::isAutosizingCluster):
145
146             A container that is also a flow root / block formatting context
147             (approximately), hence demarcates an independent region of the page,
148             within which we want consistent autosizing.
149
150         (WebCore::TextAutosizer::clusterShouldBeAutosized):
151
152             Uses measureDescendantTextWidth and to check whether the cluster
153             contains enough text to be worth autosizing.
154
155         (WebCore::TextAutosizer::measureDescendantTextWidth):
156
157             Recursively traverse the cluster, skipping constrained height
158             containers as processContainer does, to measure how much autosizable
159             text it contains. Early out as soon as the minimum text width is
160             reached.
161
162         (WebCore::TextAutosizer::nextInPreOrderSkippingDescendantsOfContainers):
163
164             Replaces nextInPreOrderMatchingFilter. The filter is now fixed to
165             isContainer (we no longer need an isAutosizingCluster filter, since
166             I consolidated the tree traversal), and filtered objects are
167             actually returned (so they can in turn be recursively traversed),
168             it's just their descendants that get skipped.
169
170         * rendering/TextAutosizer.h:
171         (TextAutosizer):
172
173             - Deleted RenderObjectFilterFunctor, since the filter of
174               nextInPreOrderSkippingDescendantsOfContainers is now fixed.
175
176 2012-09-20  Yoshifumi Inoue  <yosin@chromium.org>
177
178         [Platform] There are memory leak in LocaleICU
179         https://bugs.webkit.org/show_bug.cgi?id=97289
180
181         Reviewed by Kent Tamura.
182
183         This patch adds udt_close() calls for medium time format and short
184         time format data used in LocaleICU class to avoid memory leak.
185
186         This memory leak is found by external tool Valgrind and reported in
187         Chromium bug repositry(http://crbug.com/151006) with stack trace of
188         call path of leaked memory.
189
190         This patch affects ports which enable both ENABLE_INPUT_TYPE_TIME and
191         ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS.
192
193         No new tests. External tool such as Valgrind will check this memory leak.
194
195         * platform/text/LocaleICU.cpp:
196         (WebCore::LocaleICU::~LocaleICU): Added to call udt_close() for m_mediumTimeFormat
197         and m_shortTimeFormat which have UDateFormat objects.
198
199 2012-09-20  Kenichi Ishibashi  <bashi@chromium.org>
200
201         Chromium mac cannot display AppleColorEmoji
202         https://bugs.webkit.org/show_bug.cgi?id=97286
203
204         Reviewed by Kent Tamura.
205
206         Disable AppleColorEmoji for now. We will re-enable it after Skia supports CTFontDrawGlyphs().
207
208         No new tests. Fallback fonts should be used for emoji codepoints.
209
210         * platform/graphics/mac/FontCacheMac.mm:
211         (WebCore::FontCache::getFontDataForCharacters):
212
213 2012-09-20  Luke Macpherson   <macpherson@chromium.org>
214
215         Fix use-after free when using a variable to specify a -webkit-filter.
216         https://bugs.webkit.org/show_bug.cgi?id=97153
217
218         Reviewed by Abhishek Arya.
219
220         Make StyleResolver's m_pendingSVGDocuments a hashmap of RefPtr instead of raw pointers such that the document values cannot be freed prematurely.
221         Present assumption is that storing raw pointers is ok because CSSValues will live as long as the StyleResolver instance, however that it no longer
222         true when variables are used, so we must ensure we increment the reference counter to ensure the CSSValues are not freed prematurely.
223
224         Test: fast/css/variables/var-filter.html
225
226         * css/StyleResolver.cpp:
227         (WebCore::StyleResolver::collectMatchingRulesForList):
228         * css/StyleResolver.h:
229         (StyleResolver):
230
231 2012-09-20  Levi Weintraub  <leviw@chromium.org>
232
233         Prevent reading stale data from InlineTextBoxes
234         https://bugs.webkit.org/show_bug.cgi?id=94750
235
236         Reviewed by Abhishek Arya.
237
238         Text from dirty InlineTextBoxes should never be read or used. This change
239         enforces this design goal by forcefully zero-ing out the start and length
240         of InlineTextBoxes when they're being marked dirty. Ideally, we'd also
241         add asserts to the accessors for this data, but there are still several
242         places in editing that cause this. https://bugs.webkit.org/show_bug.cgi?id=97264
243         tracks these cases.
244
245         This change involves making markDirty virtual. Running the line-layout
246         performance test as well as profiling resizing the html5 spec showed
247         negligable impact with this change.
248
249         No new tests as this doesn't change any proper behavior.
250
251         * dom/Position.cpp:
252         (WebCore::Position::downstream): Adding a FIXME.
253         * rendering/InlineBox.h:
254         (WebCore::InlineBox::markDirty): Marking virtual to allow InlineTextBox to
255         overload and zero out its start and length.
256         * rendering/InlineTextBox.cpp:
257         (WebCore::InlineTextBox::markDirty): Zeroing out the start and length when
258         we mark the box dirty.
259         * rendering/InlineTextBox.h:
260         * rendering/RenderText.cpp:
261         (WebCore::RenderText::setTextWithOffset): Adding a FIXME.
262
263 2012-09-20  Adam Barth  <abarth@webkit.org>
264
265         Measure how often web pages use Worker and SharedWorker
266         https://bugs.webkit.org/show_bug.cgi?id=97273
267
268         Reviewed by Ojan Vafai.
269
270         We're not considering removing these features, but it will give us a
271         baseline idea of how often they're used.
272
273         * page/FeatureObserver.h:
274         * workers/SharedWorker.cpp:
275         (WebCore::SharedWorker::create):
276         * workers/Worker.cpp:
277         (WebCore::Worker::create):
278
279 2012-09-20  Tony Chang  <tony@chromium.org>
280
281         [chromium] Enable more clang warnings
282         https://bugs.webkit.org/show_bug.cgi?id=97257
283
284         Reviewed by James Robinson.
285
286         Add -Wunused-parameter to WebCore targets. Apple's Mac compile already
287         warns on this and it's a common source of error for Chromium patches.
288
289         No new tests, should compile cleanly.
290
291         * WebCore.gyp/WebCore.gyp:
292
293 2012-09-20  Dan Bernstein  <mitz@apple.com>
294
295         Kerning never occurs between a space and the following glyph
296         https://bugs.webkit.org/show_bug.cgi?id=97269
297
298         Reviewed by Tim Horton.
299
300         Covered by several existing tests.
301
302         * platform/graphics/mac/ComplexTextController.cpp:
303         (WebCore::ComplexTextController::adjustGlyphsAndAdvances): Changed to not reset the advance
304         of a space, and added a comment about how this also needs to be fixed for other characters
305         that are treated as spaces.
306
307 2012-09-20  Kenichi Ishibashi  <bashi@chromium.org>
308
309         [Chromium] Improve glyph selection of HarfBuzzShaper
310         https://bugs.webkit.org/show_bug.cgi?id=97164
311
312         Reviewed by Tony Chang.
313
314         Take into account clusters for selection.
315
316         Test: fast/text/international/hebrew-selection.html
317
318         * platform/graphics/harfbuzz/ng/HarfBuzzShaper.cpp:
319         (WebCore::HarfBuzzShaper::HarfBuzzRun::applyShapeResult): Removed m_logClusters.
320         m_logCluster is no longer used.
321         (WebCore::HarfBuzzShaper::HarfBuzzRun::characterIndexForXPosition):
322         - If targetX is in the left side of the first cluster, return the leftmost character index.
323         - If targetX is in the right side of the last cluster, return the rightmost character index.
324         - If targetX is between the right side of the cluster N and the left side of the cluster N+1, then:
325           - return N+1 for LTR.
326           - return N for RTL.
327         (WebCore::HarfBuzzShaper::HarfBuzzRun::xPositionForOffset):
328         Find the cluster of index in question, then:
329         - return the left side boundary of the cluster for LTR.
330         - return the right side boundary of the cluster for RTL.
331         * platform/graphics/harfbuzz/ng/HarfBuzzShaper.h:
332         (HarfBuzzRun):
333
334 2012-09-20  Tony Chang  <tony@chromium.org>
335
336         Replace RenderListBox::updateLogicalHeight with RenderListBox::computeLogicalHeight
337         https://bugs.webkit.org/show_bug.cgi?id=97263
338
339         Reviewed by Ojan Vafai.
340
341         This is part of making computeLogicalHeight virtual so with any RenderBox pointer, one
342         can compute the logical height without mutating the RenderBox.
343
344         No new tests, this is a refactor and existing list box tests should pass.
345
346         * rendering/RenderBox.h:
347         (RenderBox):
348         * rendering/RenderListBox.cpp:
349         (WebCore::RenderListBox::layout): Move layout related logic here.
350         (WebCore::RenderListBox::computeLogicalHeight): Use const version and remove layout related code.
351         * rendering/RenderListBox.h:
352         (RenderListBox): Override computeLogicalHeight.
353
354 2012-09-20  Mike West  <mkwst@chromium.org>
355
356         CSP reports should send an empty "blocked-uri" rather than nothing.
357         https://bugs.webkit.org/show_bug.cgi?id=97256
358
359         Reviewed by Adam Barth.
360
361         In cases where a Content Security Policy violation report is generated
362         without blocking a resource at a particular URI (inline scripts, for
363         example), we currently leave the "blocked-uri" attribute out of the
364         report entirely. For the same reason that we included the "referrer"
365         attribute in webkit.org/b/97233, we should include an explicitly empty
366         "blocked-uri" in these cases.
367
368         This new behavior is covered by updates to existing test expectations
369         around the reporting functionality.
370
371         * page/ContentSecurityPolicy.cpp:
372         (WebCore::ContentSecurityPolicy::reportViolation):
373             If the 'blocked-uri' is invalid, add a "blocked-uri" attribute that
374             is explicitly empty.
375
376 2012-09-20  Patrick Gansterer  <paroga@webkit.org>
377
378         Add String::numberToFixedPrecisionString()
379         https://bugs.webkit.org/show_bug.cgi?id=96330
380
381         Reviewed by Benjamin Poulain.
382
383         * platform/text/TextStream.cpp:
384         (WebCore::TextStream::operator<<): Use the new function instead of String::number() with flags.
385
386 2012-09-20  Adam Klein  <adamk@chromium.org>
387
388         Rename ContainerNode::parserAddChild "parserAppendChild" for consistency
389         https://bugs.webkit.org/show_bug.cgi?id=97254
390
391         Reviewed by Adam Barth.
392
393         No functional change, all the below changes are simple renames.
394
395         * dom/ContainerNode.cpp:
396         (WebCore::ContainerNode::takeAllChildrenFrom):
397         (WebCore::ContainerNode::parserAppendChild):
398         * dom/ContainerNode.h:
399         (ContainerNode):
400         * dom/DOMImplementation.cpp:
401         (WebCore::DOMImplementation::createDocument):
402         * editing/markup.cpp:
403         (WebCore::createFragmentForTransformToFragment):
404         * html/HTMLViewSourceDocument.cpp:
405         (WebCore::HTMLViewSourceDocument::createContainingTable):
406         (WebCore::HTMLViewSourceDocument::addSpanWithClassName):
407         (WebCore::HTMLViewSourceDocument::addLine):
408         (WebCore::HTMLViewSourceDocument::finishLine):
409         (WebCore::HTMLViewSourceDocument::addText):
410         (WebCore::HTMLViewSourceDocument::addBase):
411         (WebCore::HTMLViewSourceDocument::addLink):
412         * html/parser/HTMLConstructionSite.cpp:
413         (WebCore::executeTask):
414         * html/parser/HTMLTreeBuilder.cpp:
415         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
416         * html/track/WebVTTParser.cpp:
417         (WebCore::WebVTTParser::constructTreeFromToken):
418         * xml/XMLErrors.cpp:
419         (WebCore::createXHTMLParserErrorHeader):
420         (WebCore::XMLErrors::insertErrorMessageBlock):
421         * xml/parser/XMLDocumentParser.cpp:
422         (WebCore::XMLDocumentParser::enterText):
423         (WebCore::XMLDocumentParser::parseDocumentFragment):
424         * xml/parser/XMLDocumentParserLibxml2.cpp:
425         (WebCore::XMLDocumentParser::startElementNs):
426         (WebCore::XMLDocumentParser::processingInstruction):
427         (WebCore::XMLDocumentParser::cdataBlock):
428         (WebCore::XMLDocumentParser::comment):
429         (WebCore::XMLDocumentParser::internalSubset):
430         * xml/parser/XMLDocumentParserQt.cpp:
431         (WebCore::XMLDocumentParser::parseStartElement):
432         (WebCore::XMLDocumentParser::parseProcessingInstruction):
433         (WebCore::XMLDocumentParser::parseCdata):
434         (WebCore::XMLDocumentParser::parseComment):
435         (WebCore::XMLDocumentParser::parseDtd):
436         * xml/parser/XMLTreeBuilder.cpp:
437         (WebCore::XMLTreeBuilder::processDOCTYPE):
438         (WebCore::XMLTreeBuilder::processStartTag):
439         (WebCore::XMLTreeBuilder::add):
440
441 2012-09-20  James Robinson  <jamesr@chromium.org>
442
443         [chromium] Remove unused copy of chromium compositor implementation files
444         https://bugs.webkit.org/show_bug.cgi?id=97255
445
446         Reviewed by Adam Barth.
447
448         Now that use_libcc_for_compositor is set to 1 these files aren't used anywhere.
449
450         * WebCore.gyp/WebCore.gyp:
451         * WebCore.gypi:
452         * platform/chromium/support/CCThreadImpl.cpp: Removed.
453         * platform/chromium/support/CCThreadImpl.h: Removed.
454         * platform/chromium/support/WebCompositorImpl.cpp: Removed.
455         * platform/chromium/support/WebCompositorImpl.h: Removed.
456         * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.cpp: Removed.
457         * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.h: Removed.
458         * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.cpp: Removed.
459         * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.h: Removed.
460         * platform/graphics/chromium/Canvas2DLayerBridge.cpp:
461         (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
462         (WebCore::Canvas2DLayerBridge::~Canvas2DLayerBridge):
463         * platform/graphics/chromium/CanvasLayerTextureUpdater.cpp: Removed.
464         * platform/graphics/chromium/CanvasLayerTextureUpdater.h: Removed.
465         * platform/graphics/chromium/ContentLayerChromium.cpp: Removed.
466         * platform/graphics/chromium/ContentLayerChromium.h: Removed.
467         * platform/graphics/chromium/ContentLayerChromiumClient.h: Removed.
468         * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp: Removed.
469         * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.h: Removed.
470         * platform/graphics/chromium/GeometryBinding.cpp: Removed.
471         * platform/graphics/chromium/GeometryBinding.h: Removed.
472         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
473         * platform/graphics/chromium/HeadsUpDisplayLayerChromium.cpp: Removed.
474         * platform/graphics/chromium/HeadsUpDisplayLayerChromium.h: Removed.
475         * platform/graphics/chromium/IOSurfaceLayerChromium.cpp: Removed.
476         * platform/graphics/chromium/IOSurfaceLayerChromium.h: Removed.
477         * platform/graphics/chromium/ImageLayerChromium.cpp: Removed.
478         * platform/graphics/chromium/ImageLayerChromium.h: Removed.
479         * platform/graphics/chromium/LayerChromium.cpp: Removed.
480         * platform/graphics/chromium/LayerChromium.h: Removed.
481         * platform/graphics/chromium/LayerTextureSubImage.cpp: Removed.
482         * platform/graphics/chromium/LayerTextureSubImage.h: Removed.
483         * platform/graphics/chromium/LayerTextureUpdater.h: Removed.
484         * platform/graphics/chromium/PlatformColor.h: Removed.
485         * platform/graphics/chromium/ProgramBinding.cpp: Removed.
486         * platform/graphics/chromium/ProgramBinding.h: Removed.
487         * platform/graphics/chromium/RateLimiter.cpp: Removed.
488         * platform/graphics/chromium/RateLimiter.h: Removed.
489         * platform/graphics/chromium/RenderSurfaceChromium.cpp: Removed.
490         * platform/graphics/chromium/RenderSurfaceChromium.h: Removed.
491         * platform/graphics/chromium/ScrollbarLayerChromium.cpp: Removed.
492         * platform/graphics/chromium/ScrollbarLayerChromium.h: Removed.
493         * platform/graphics/chromium/ShaderChromium.cpp: Removed.
494         * platform/graphics/chromium/ShaderChromium.h: Removed.
495         * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.cpp: Removed.
496         * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.h: Removed.
497         * platform/graphics/chromium/SolidColorLayerChromium.cpp: Removed.
498         * platform/graphics/chromium/SolidColorLayerChromium.h: Removed.
499         * platform/graphics/chromium/TextureCopier.cpp: Removed.
500         * platform/graphics/chromium/TextureCopier.h: Removed.
501         * platform/graphics/chromium/TextureLayerChromium.cpp: Removed.
502         * platform/graphics/chromium/TextureLayerChromium.h: Removed.
503         * platform/graphics/chromium/TextureLayerChromiumClient.h: Removed.
504         * platform/graphics/chromium/ThrottledTextureUploader.cpp: Removed.
505         * platform/graphics/chromium/ThrottledTextureUploader.h: Removed.
506         * platform/graphics/chromium/TiledLayerChromium.cpp: Removed.
507         * platform/graphics/chromium/TiledLayerChromium.h: Removed.
508         * platform/graphics/chromium/TreeSynchronizer.cpp: Removed.
509         * platform/graphics/chromium/TreeSynchronizer.h: Removed.
510         * platform/graphics/chromium/UnthrottledTextureUploader.h: Removed.
511         * platform/graphics/chromium/VideoLayerChromium.cpp: Removed.
512         * platform/graphics/chromium/VideoLayerChromium.h: Removed.
513         * platform/graphics/chromium/cc/CCActiveAnimation.cpp: Removed.
514         * platform/graphics/chromium/cc/CCActiveAnimation.h: Removed.
515         * platform/graphics/chromium/cc/CCAnimationCurve.cpp: Removed.
516         * platform/graphics/chromium/cc/CCAnimationCurve.h: Removed.
517         * platform/graphics/chromium/cc/CCAnimationEvents.h: Removed.
518         * platform/graphics/chromium/cc/CCAppendQuadsData.h: Removed.
519         * platform/graphics/chromium/cc/CCCheckerboardDrawQuad.cpp: Removed.
520         * platform/graphics/chromium/cc/CCCheckerboardDrawQuad.h: Removed.
521         * platform/graphics/chromium/cc/CCCompletionEvent.h: Removed.
522         * platform/graphics/chromium/cc/CCDamageTracker.cpp: Removed.
523         * platform/graphics/chromium/cc/CCDamageTracker.h: Removed.
524         * platform/graphics/chromium/cc/CCDebugBorderDrawQuad.cpp: Removed.
525         * platform/graphics/chromium/cc/CCDebugBorderDrawQuad.h: Removed.
526         * platform/graphics/chromium/cc/CCDebugRectHistory.cpp: Removed.
527         * platform/graphics/chromium/cc/CCDebugRectHistory.h: Removed.
528         * platform/graphics/chromium/cc/CCDelayBasedTimeSource.cpp: Removed.
529         * platform/graphics/chromium/cc/CCDelayBasedTimeSource.h: Removed.
530         * platform/graphics/chromium/cc/CCDirectRenderer.cpp: Removed.
531         * platform/graphics/chromium/cc/CCDirectRenderer.h: Removed.
532         * platform/graphics/chromium/cc/CCDrawQuad.cpp: Removed.
533         * platform/graphics/chromium/cc/CCDrawQuad.h: Removed.
534         * platform/graphics/chromium/cc/CCFontAtlas.cpp: Removed.
535         * platform/graphics/chromium/cc/CCFontAtlas.h: Removed.
536         * platform/graphics/chromium/cc/CCFrameRateController.cpp: Removed.
537         * platform/graphics/chromium/cc/CCFrameRateController.h: Removed.
538         * platform/graphics/chromium/cc/CCFrameRateCounter.cpp: Removed.
539         * platform/graphics/chromium/cc/CCFrameRateCounter.h: Removed.
540         * platform/graphics/chromium/cc/CCGraphicsContext.h: Removed.
541         * platform/graphics/chromium/cc/CCHeadsUpDisplayLayerImpl.cpp: Removed.
542         * platform/graphics/chromium/cc/CCHeadsUpDisplayLayerImpl.h: Removed.
543         * platform/graphics/chromium/cc/CCIOSurfaceDrawQuad.cpp: Removed.
544         * platform/graphics/chromium/cc/CCIOSurfaceDrawQuad.h: Removed.
545         * platform/graphics/chromium/cc/CCIOSurfaceLayerImpl.cpp: Removed.
546         * platform/graphics/chromium/cc/CCIOSurfaceLayerImpl.h: Removed.
547         * platform/graphics/chromium/cc/CCInputHandler.h: Removed.
548         * platform/graphics/chromium/cc/CCKeyframedAnimationCurve.cpp: Removed.
549         * platform/graphics/chromium/cc/CCKeyframedAnimationCurve.h: Removed.
550         * platform/graphics/chromium/cc/CCLayerAnimationController.cpp: Removed.
551         * platform/graphics/chromium/cc/CCLayerAnimationController.h: Removed.
552         * platform/graphics/chromium/cc/CCLayerImpl.cpp: Removed.
553         * platform/graphics/chromium/cc/CCLayerImpl.h: Removed.
554         * platform/graphics/chromium/cc/CCLayerIterator.cpp: Removed.
555         * platform/graphics/chromium/cc/CCLayerIterator.h: Removed.
556         * platform/graphics/chromium/cc/CCLayerQuad.cpp: Removed.
557         * platform/graphics/chromium/cc/CCLayerQuad.h: Removed.
558         * platform/graphics/chromium/cc/CCLayerSorter.cpp: Removed.
559         * platform/graphics/chromium/cc/CCLayerSorter.h: Removed.
560         * platform/graphics/chromium/cc/CCLayerTilingData.cpp: Removed.
561         * platform/graphics/chromium/cc/CCLayerTilingData.h: Removed.
562         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: Removed.
563         * platform/graphics/chromium/cc/CCLayerTreeHost.h: Removed.
564         * platform/graphics/chromium/cc/CCLayerTreeHostClient.h: Removed.
565         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp: Removed.
566         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.h: Removed.
567         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: Removed.
568         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h: Removed.
569         * platform/graphics/chromium/cc/CCMathUtil.cpp: Removed.
570         * platform/graphics/chromium/cc/CCMathUtil.h: Removed.
571         * platform/graphics/chromium/cc/CCOcclusionTracker.cpp: Removed.
572         * platform/graphics/chromium/cc/CCOcclusionTracker.h: Removed.
573         * platform/graphics/chromium/cc/CCOverdrawMetrics.cpp: Removed.
574         * platform/graphics/chromium/cc/CCOverdrawMetrics.h: Removed.
575         * platform/graphics/chromium/cc/CCPageScaleAnimation.cpp: Removed.
576         * platform/graphics/chromium/cc/CCPageScaleAnimation.h: Removed.
577         * platform/graphics/chromium/cc/CCPrioritizedTexture.cpp: Removed.
578         * platform/graphics/chromium/cc/CCPrioritizedTexture.h: Removed.
579         * platform/graphics/chromium/cc/CCPrioritizedTextureManager.cpp: Removed.
580         * platform/graphics/chromium/cc/CCPrioritizedTextureManager.h: Removed.
581         * platform/graphics/chromium/cc/CCPriorityCalculator.cpp: Removed.
582         * platform/graphics/chromium/cc/CCPriorityCalculator.h: Removed.
583         * platform/graphics/chromium/cc/CCProxy.cpp: Removed.
584         * platform/graphics/chromium/cc/CCProxy.h: Removed.
585         * platform/graphics/chromium/cc/CCQuadCuller.cpp: Removed.
586         * platform/graphics/chromium/cc/CCQuadCuller.h: Removed.
587         * platform/graphics/chromium/cc/CCQuadSink.h: Removed.
588         * platform/graphics/chromium/cc/CCRenderPass.cpp: Removed.
589         * platform/graphics/chromium/cc/CCRenderPass.h: Removed.
590         * platform/graphics/chromium/cc/CCRenderPassDrawQuad.cpp: Removed.
591         * platform/graphics/chromium/cc/CCRenderPassDrawQuad.h: Removed.
592         * platform/graphics/chromium/cc/CCRenderPassSink.h: Removed.
593         * platform/graphics/chromium/cc/CCRenderSurface.cpp: Removed.
594         * platform/graphics/chromium/cc/CCRenderSurface.h: Removed.
595         * platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp: Removed.
596         * platform/graphics/chromium/cc/CCRenderSurfaceFilters.h: Removed.
597         * platform/graphics/chromium/cc/CCRenderer.h: Removed.
598         * platform/graphics/chromium/cc/CCRendererGL.cpp: Removed.
599         * platform/graphics/chromium/cc/CCRendererGL.h: Removed.
600         * platform/graphics/chromium/cc/CCRenderingStats.h: Removed.
601         * platform/graphics/chromium/cc/CCResourceProvider.cpp: Removed.
602         * platform/graphics/chromium/cc/CCResourceProvider.h: Removed.
603         * platform/graphics/chromium/cc/CCScheduler.cpp: Removed.
604         * platform/graphics/chromium/cc/CCScheduler.h: Removed.
605         * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp: Removed.
606         * platform/graphics/chromium/cc/CCSchedulerStateMachine.h: Removed.
607         * platform/graphics/chromium/cc/CCScopedTexture.cpp: Removed.
608         * platform/graphics/chromium/cc/CCScopedTexture.h: Removed.
609         * platform/graphics/chromium/cc/CCScopedThreadProxy.h: Removed.
610         * platform/graphics/chromium/cc/CCScrollbarAnimationController.cpp: Removed.
611         * platform/graphics/chromium/cc/CCScrollbarAnimationController.h: Removed.
612         * platform/graphics/chromium/cc/CCScrollbarAnimationControllerLinearFade.cpp: Removed.
613         * platform/graphics/chromium/cc/CCScrollbarAnimationControllerLinearFade.h: Removed.
614         * platform/graphics/chromium/cc/CCScrollbarGeometryFixedThumb.cpp: Removed.
615         * platform/graphics/chromium/cc/CCScrollbarGeometryFixedThumb.h: Removed.
616         * platform/graphics/chromium/cc/CCScrollbarGeometryStub.cpp: Removed.
617         * platform/graphics/chromium/cc/CCScrollbarGeometryStub.h: Removed.
618         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp: Removed.
619         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h: Removed.
620         * platform/graphics/chromium/cc/CCSettings.cpp: Removed.
621         * platform/graphics/chromium/cc/CCSettings.h: Removed.
622         * platform/graphics/chromium/cc/CCSharedQuadState.cpp: Removed.
623         * platform/graphics/chromium/cc/CCSharedQuadState.h: Removed.
624         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp: Removed.
625         * platform/graphics/chromium/cc/CCSingleThreadProxy.h: Removed.
626         * platform/graphics/chromium/cc/CCSolidColorDrawQuad.cpp: Removed.
627         * platform/graphics/chromium/cc/CCSolidColorDrawQuad.h: Removed.
628         * platform/graphics/chromium/cc/CCSolidColorLayerImpl.cpp: Removed.
629         * platform/graphics/chromium/cc/CCSolidColorLayerImpl.h: Removed.
630         * platform/graphics/chromium/cc/CCStreamVideoDrawQuad.cpp: Removed.
631         * platform/graphics/chromium/cc/CCStreamVideoDrawQuad.h: Removed.
632         * platform/graphics/chromium/cc/CCTexture.cpp: Removed.
633         * platform/graphics/chromium/cc/CCTexture.h: Removed.
634         * platform/graphics/chromium/cc/CCTextureDrawQuad.cpp: Removed.
635         * platform/graphics/chromium/cc/CCTextureDrawQuad.h: Removed.
636         * platform/graphics/chromium/cc/CCTextureLayerImpl.cpp: Removed.
637         * platform/graphics/chromium/cc/CCTextureLayerImpl.h: Removed.
638         * platform/graphics/chromium/cc/CCTextureUpdateController.cpp: Removed.
639         * platform/graphics/chromium/cc/CCTextureUpdateController.h: Removed.
640         * platform/graphics/chromium/cc/CCTextureUpdateQueue.cpp: Removed.
641         * platform/graphics/chromium/cc/CCTextureUpdateQueue.h: Removed.
642         * platform/graphics/chromium/cc/CCThread.h: Removed.
643         * platform/graphics/chromium/cc/CCThreadProxy.cpp: Removed.
644         * platform/graphics/chromium/cc/CCThreadProxy.h: Removed.
645         * platform/graphics/chromium/cc/CCThreadTask.h: Removed.
646         * platform/graphics/chromium/cc/CCTileDrawQuad.cpp: Removed.
647         * platform/graphics/chromium/cc/CCTileDrawQuad.h: Removed.
648         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp: Removed.
649         * platform/graphics/chromium/cc/CCTiledLayerImpl.h: Removed.
650         * platform/graphics/chromium/cc/CCTimeSource.h: Removed.
651         * platform/graphics/chromium/cc/CCTimer.cpp: Removed.
652         * platform/graphics/chromium/cc/CCTimer.h: Removed.
653         * platform/graphics/chromium/cc/CCTimingFunction.cpp: Removed.
654         * platform/graphics/chromium/cc/CCTimingFunction.h: Removed.
655         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp: Removed.
656         * platform/graphics/chromium/cc/CCVideoLayerImpl.h: Removed.
657         * platform/graphics/chromium/cc/CCYUVVideoDrawQuad.cpp: Removed.
658         * platform/graphics/chromium/cc/CCYUVVideoDrawQuad.h: Removed.
659
660 2012-09-20  Tony Chang  <tony@chromium.org>
661
662         Implement absolutely positioned flex items
663         https://bugs.webkit.org/show_bug.cgi?id=93798
664
665         Reviewed by Ojan Vafai.
666
667         Previously, we treated absolutely positioned flex items as a 0x0 placeholder element.
668         Now we position the 0x0 placeholder where the next item would go. This causes the
669         following changes:
670         - justify-content: space-{around,between} no longer change due to the existence of absolutely positioned flex items.
671         - alignment doesn't change the placement of absolutely positioned flex items.
672         - auto margins in the alignment direction don't do anything on absolutely positioned flex items.
673
674         Test: css3/flexbox/position-absolute-children.html
675
676         * rendering/RenderFlexibleBox.cpp:
677         (WebCore::RenderFlexibleBox::availableAlignmentSpaceForChild): Absolutely positioned flex items should not use this.
678         (WebCore::RenderFlexibleBox::updateAutoMarginsInCrossAxis): Absolutely positioned flex items should not use this.
679         (WebCore::initialJustifyContentOffset): If there are no flex items, space-around should center an absolutely positioned flex item.
680         (WebCore::RenderFlexibleBox::numberOfInFlowPositionedChildren): Helper method for helping to compute space-between and space-around.
681         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): Fix spacing when space-between or space-around.
682         (WebCore::RenderFlexibleBox::layoutColumnReverse): Fix spacing when space-between or space-around.
683         (WebCore::RenderFlexibleBox::alignChildren): Treat absolutely positioned children like flex-start.
684         * rendering/RenderFlexibleBox.h: numberOfInFlowPositionedChildren method.
685
686 2012-09-20  Sheriff Bot  <webkit.review.bot@gmail.com>
687
688         Unreviewed, rolling out r129144.
689         http://trac.webkit.org/changeset/129144
690         https://bugs.webkit.org/show_bug.cgi?id=97244
691
692         causing lots of assertions in tests (Requested by smfr on
693         #webkit).
694
695         * rendering/InlineBox.h:
696         (WebCore::InlineBox::markDirty):
697         * rendering/InlineTextBox.cpp:
698         * rendering/InlineTextBox.h:
699         (WebCore::InlineTextBox::start):
700         (WebCore::InlineTextBox::end):
701         (WebCore::InlineTextBox::len):
702         (WebCore::InlineTextBox::offsetRun):
703
704 2012-09-20  Mike West  <mkwst@chromium.org>
705
706         CSP reports should send an empty 'referrer' rather than nothing.
707         https://bugs.webkit.org/show_bug.cgi?id=97233
708
709         Reviewed by Adam Barth.
710
711         Currently, if a protected resource doesn't have a referrer, then any
712         Content Security Policy violations send a report that doesn't contain
713         a referrer attribute. It's arguably friendlier to developers to include
714         an explicitly empty attribute.
715
716         This new behavior is covered by updates to existing test expectations
717         around the reporting functionality.
718
719         * page/ContentSecurityPolicy.cpp:
720         (WebCore::ContentSecurityPolicy::reportViolation):
721             Drop the 'if', and always write out a referrer.
722
723 2012-09-20  David Barton  <dbarton@mathscribe.com>
724
725         [MathML] Increase visual space around fraction parts, italic variables, and operators
726         https://bugs.webkit.org/show_bug.cgi?id=97228
727
728         Reviewed by Eric Seidel.
729
730         This makes MathML more readable, and more in agreement with Firefox and TeX.
731
732         Tested by existing tests.
733
734         * css/mathml.css:
735         (mfrac > :first-child):
736         (mfrac > :last-child):
737         (mfrac):
738         (mi):
739         (msub > mi:first-child, msubsup > mi:first-child):
740             - Subscripts don't need to move right after an italic <mi>.
741         (msubsup > mi:first-child + * + *):
742             - Superscripts do need to move right after an italic <mi>.
743         (math > mo, mrow > mo, msqrt > mo, mtd > mo):
744             - These are ok values for now. It will be better to use different values for different operators, as the FIXME says.
745         (math > mo:last-child, mrow > mo:last-child, msqrt > mo:last-child, mtd > mo:last-child):
746             - Prefix and postfix operators, including fences, generally get less spacing than infix operators.
747         
748         * rendering/mathml/RenderMathMLFenced.cpp:
749         (WebCore::RenderMathMLFenced::createMathMLOperator):
750             - Usually the separator is a comma or semicolon, so we only put space after it for now.
751         (WebCore::RenderMathMLFenced::makeFences):
752         (WebCore::RenderMathMLFenced::addChild):
753         (WebCore::RenderMathMLFenced::styleDidChange):
754         * rendering/mathml/RenderMathMLFenced.h:
755         (RenderMathMLFenced):
756         
757         * rendering/mathml/RenderMathMLFraction.cpp:
758         (WebCore):
759         (WebCore::RenderMathMLFraction::updateFromElement):
760             - gDenominatorPad is now handled by mathml.css.
761         
762         * rendering/mathml/RenderMathMLSubSup.cpp:
763         (WebCore):
764         (WebCore::RenderMathMLSubSup::fixScriptsStyle):
765             - gSubsupScriptMargin is now handled by mathml.css.
766
767 2012-09-20  Tommy Widenflycht  <tommyw@google.com>
768
769         MediaStream API: Extend UserMediaRequest with a ownerDocument method
770         https://bugs.webkit.org/show_bug.cgi?id=97095
771
772         Reviewed by Adam Barth.
773
774         Chromium need to know exactly which frame called getUserMedia so that it can
775         clean away the stream when the frame goes away.
776         Since that information is available in webkit add an accessor method.
777
778         Chromium mock class extended to test the added method.
779
780         * Modules/mediastream/UserMediaRequest.cpp:
781         (WebCore::UserMediaRequest::ownerDocument):
782         (WebCore):
783         * Modules/mediastream/UserMediaRequest.h:
784         (WebCore):
785         (UserMediaRequest):
786
787 2012-09-20  Levi Weintraub  <leviw@chromium.org>
788
789         Prevent reading stale data from InlineTextBoxes
790         https://bugs.webkit.org/show_bug.cgi?id=94750
791
792         Reviewed by Eric Seidel.
793
794         Text from dirty InlineTextBoxes should never be read or used. This change enforces this
795         design goal by forcefully zero-ing out the start and length of InlineTextBoxes when 
796         they're being marked dirty. It also adds asserts to accessors for those members.
797
798         This change involves making markDirty virtual. Running the line-layout performance test
799         as well as profiling resizing the html5 spec showed negligable impact with this change.
800
801         No new tests as this doesn't change any proper behavior.
802
803         * rendering/InlineBox.h:
804         (WebCore::InlineBox::markDirty): Making virtual to allow InlineTextBox to overload and
805         zero out its start and length.
806         * rendering/InlineTextBox.cpp:
807         (WebCore::InlineTextBox::markDirty): Zeroing out start and length when we mark the box dirty.
808         * rendering/InlineTextBox.h:
809         (WebCore::InlineTextBox::start): Adding an assert when we hit this case.
810         (WebCore::InlineTextBox::end): Ditto.
811         (WebCore::InlineTextBox::len): Ditto.
812         (WebCore::InlineTextBox::offsetRun): Ditto.
813
814 2012-09-20  Mike West  <mkwst@chromium.org>
815
816         Support paths in Content Security Policy directives.
817         https://bugs.webkit.org/show_bug.cgi?id=89750
818
819         Reviewed by Adam Barth.
820
821         In CSP 1.0, paths are simply ignored: 'script-src
822         http://example.com/path/to/a/file' would allow script to be loaded from
823         http://example.com/path/to/a/file/javascript.js, but also from
824         http://example.com/javascript.js.
825
826         This patch is an experimental implementation of more granular path
827         support in CSP source lists as proposed in the current editor's draft of
828         CSP 1.1. Paths are treated as specifying directories in which resources
829         can be found, and are implicitly terminated with a '/': in other words,
830         'script-src http://a.com/path' is the same as
831         'script-src http://a.com/path/'. Moreover, paths cannot contain either
832         '?' or '#' characters.
833
834         This is implemented outside the CSP_NEXT flag. All ports will be
835         effected.
836
837         Spec: https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html#matching
838
839         Tests: http/tests/security/contentSecurityPolicy/source-list-parsing-paths-01.html
840                http/tests/security/contentSecurityPolicy/source-list-parsing-paths-02.html
841
842         * page/ContentSecurityPolicy.cpp:
843         (WebCore::CSPSource::CSPSource):
844             Store a path along with each CSP source.
845         (WebCore::CSPSource::matches):
846             Check the path when comparing a URL to the source.
847         (WebCore::CSPSource::pathMatches):
848             Compare the URL-decoded version of the resource to validate against
849             the source's stored path. If the resource's path begins with the
850             stored path, then it matches! If not, it doesn't.
851         (CSPSource):
852             Store a path along with each CSP source.
853         (WebCore::CSPSourceList::parse):
854             Pass a 'path' in when creating CSPSource objects.
855         (WebCore::CSPSourceList::parsePath):
856             Actually parse the path, flagging errors if '?' or '#' are present,
857             URL-decoding the result, and ensuring that a terminal '/' is
858             added if necessary.
859         (WebCore::CSPSourceList::addSourceSelf):
860             Ensure that 'self' sources have an empty path.
861         * page/ContentSecurityPolicy.h:
862             Dropping the "ignored path component" console warning.
863
864 2012-09-20  Joanmarie Diggs  <jdiggs@igalia.com>
865
866         [GTK] ControlsPanel string is not localized in LocalizedStringsGtk
867         https://bugs.webkit.org/show_bug.cgi?id=96502
868
869         Reviewed by Chris Fleizach.
870
871         Adds the ControlsPanel string to the strings localized in LocalizedStringsGtk.
872
873         Test: platform/gtk/accessibility/media-controls-panel-title.html
874
875         * platform/gtk/LocalizedStringsGtk.cpp:
876         (WebCore::localizedMediaControlElementString):
877
878 2012-09-20  Julien Chaffraix  <jchaffraix@webkit.org>
879
880         Remove isStartColumn in the border collapsing code
881         https://bugs.webkit.org/show_bug.cgi?id=97024
882
883         Reviewed by Abhishek Arya.
884
885         isStartColumn is embedding the same information as prevCell. As we need to compute it
886         in most of the cases, we may as well just reuse them.
887
888         While touching this code, I cleaned up the code by removing some unneeded checks and renaming
889         some variables in preparation for bug 79272.
890
891         Refactoring covered by existing collapsing borders tests.
892
893         * rendering/RenderTableCell.cpp:
894         (WebCore::RenderTableCell::computeCollapsedStartBorder):
895         Removed |isStartColumn|.
896
897         (WebCore::RenderTableCell::computeCollapsedEndBorder):
898         Added a comment about why |isEndColumn| is needed. Also cleaned up this code to be
899         consistent with computeCollapsedStartBorder.
900
901 2012-09-20  Andrey Adaikin  <aandrey@chromium.org>
902
903         Web Inspector: setPropertyValue does not work for non-finite numbers
904         https://bugs.webkit.org/show_bug.cgi?id=97016
905
906         Reviewed by Vsevolod Vlasov.
907
908         Fix: setting a property to NaN, Infinity or -Infinity numbers did not work.
909
910         * inspector/front-end/RemoteObject.js:
911         (WebInspector.RemoteObject.prototype.setPropertyValue):
912
913 2012-09-20  Otto Derek Cheung  <otcheung@rim.com>
914
915         Web Inspector: Cookie info in Network Resources Cookies tab are incorrect
916         https://bugs.webkit.org/show_bug.cgi?id=95491
917
918         Reviewed by Vsevolod Vlasov.
919
920         Web Inspector: Cookie info in Network Resources Cookies tab are incorrect
921         https://bugs.webkit.org/show_bug.cgi?id=95491
922
923         Fixing a typo that causes cookies to appear as a "Session"
924         cookie in the Networking panel because it can never find a properly named
925         "expired" header.
926
927         This bug exposes another bug where the cookie GMT strings are inproperly
928         parsed, causing an "invalid date" error to show up in the cookies tab in 
929         the Networking panel.
930
931         Also changed test expectations in LayoutTests/inspector/cookie-parser-expected.txt
932
933         * inspector/front-end/CookieParser.js:
934         (WebInspector.Cookie.prototype.get session):
935
936 2012-09-20  Alexander Pavlov  <apavlov@chromium.org>
937
938         Web Inspector: [Elements] Word wrap disablement in the DOM tree broken
939         https://bugs.webkit.org/show_bug.cgi?id=97185
940
941         Reviewed by Pavel Feldman.
942
943         Restored the effective "white-space: nowrap" for the tree elements.
944
945         * inspector/front-end/inspector.css:
946         (.nowrap):
947
948 2012-09-20  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
949
950         [TouchAdjustment] Simplify and improve hybrid distance function.
951         https://bugs.webkit.org/show_bug.cgi?id=96519
952
953         Reviewed by Antonio Gomes.
954
955         The current distance function is a combination of two functions. One measuring the distance from
956         the hot-spot in the touch-area to the centerline of the target, and one measuring how much of the
957         target is covered.
958
959         The distance to the center-line was used instead of just the distance to the target, to make it
960         easier to hit small targets near big targets. The very same feature is however also the reason
961         measuring how much the target is covered is added. Using the distance to center-line is therefore
962         redundant now, and can be replaced with the simpler 'distance the hot-spot needs to be adjusted'.
963
964         Tested by existing touchadjustment tests.
965
966         * page/TouchAdjustment.cpp:
967         (TouchAdjustment):
968         (WebCore::TouchAdjustment::hybridDistanceFunction):
969         * platform/graphics/IntRect.cpp:
970         * platform/graphics/IntRect.h:
971         (IntRect):
972
973 2012-09-20  Yoshifumi Inoue  <yosin@chromium.org>
974
975         [Forms] HTMLSelectElement should call formStateDidChange on both menulist and lisbox mode
976         https://bugs.webkit.org/show_bug.cgi?id=97177
977
978         Reviewed by Kent Tamura.
979
980         This patch makes listbox mode select element to call formStateDidChange()
981         when selected options are changed.
982
983         For this change, this patch moves notifyFormStateChanged() to
984         HTMLFormControlElementWithState class from HTMLTextFormControlElement
985         for sharing code HTMLSelectElement class and HTMLInputElement/HTMLTextAreaElement
986         derived from HTMLTextFormControlElement.
987
988         No new tests. We can't test this change in WebKit test tools. Test script
989         will be implemented in Chromium side.
990
991         * html/HTMLFormControlElementWithState.cpp:
992         (WebCore::HTMLFormControlElementWithState::notifyFormStateChanged):
993         (WebCore):
994         * html/HTMLFormControlElementWithState.h: Moved a declaration of notifyFormStateChanged() from HTMLTextFormControlElement.
995         (HTMLFormControlElementWithState): Moved an implemented of notifyFormStateChanged() from HTMLTextFormControlElement.
996         * html/HTMLSelectElement.cpp:
997         (WebCore::HTMLSelectElement::selectOption): Changed to call notifyFormStateChanged() instead of formStateDidChange().
998         (WebCore::HTMLSelectElement::updateListBoxSelection): Changed to call notifyFormStateChanged().
999         * html/HTMLTextFormControlElement.cpp: Moved an implemented of notifyFormStateChanged() to HTMLFormControlElementWithState class.
1000         * html/HTMLTextFormControlElement.h: Moved a declaration of notifyFormStateChanged() to HTMLFormControlElementWithState class.
1001
1002 2012-09-20  Keishi Hattori  <keishi@webkit.org>
1003
1004         REGRESSION(r127727): Can't navigate between months with arrow keys in calendar picker
1005         https://bugs.webkit.org/show_bug.cgi?id=97166
1006
1007         Reviewed by Kent Tamura.
1008
1009         Fixing bug in r127727 so arrow keys work properly.
1010
1011         Test: fast/forms/date/calendar-picker-key-operations.html
1012
1013         * Resources/pagepopups/calendarPicker.js:
1014         (DaysTable.prototype._maybeSetPreviousMonth):
1015         (DaysTable.prototype._maybeSetNextMonth):
1016
1017 2012-09-18  Alexander Pavlov  <apavlov@chromium.org>
1018
1019         Web Inspector: Use and process the actual ScriptId in the protocol EventListener object
1020         https://bugs.webkit.org/show_bug.cgi?id=93271
1021
1022         Reviewed by Yury Semikhatsky.
1023
1024         - Use the actual script identifier in the "location" object's "scriptId" field
1025           for the DOM.EventListener protocol type, but send the script URL in the new "sourceName" field.
1026         - Use 0-based lines in the "location" object's "lineNumber" field for linkifyRawLocation() to work correctly.
1027         - Fixed formatting of links to listener locations to contain "(program)" rather than empty string.
1028
1029         * bindings/js/ScriptEventListener.cpp:
1030         (WebCore::eventListenerHandlerLocation):
1031         * bindings/js/ScriptEventListener.h:
1032         (WebCore):
1033         * bindings/v8/ScriptEventListener.cpp:
1034         (WebCore::eventListenerHandlerLocation):
1035         * bindings/v8/ScriptEventListener.h:
1036         (WebCore):
1037         * inspector/Inspector.json:
1038         * inspector/InspectorDOMAgent.cpp:
1039         (WebCore::InspectorDOMAgent::buildObjectForEventListener):
1040         * inspector/front-end/BreakpointsSidebarPane.js:
1041         * inspector/front-end/EventListenersSidebarPane.js:
1042         * inspector/front-end/Linkifier.js:
1043         (WebInspector.Linkifier.DefaultFormatter.prototype.formatLiveAnchor):
1044         * inspector/front-end/ResourceUtils.js:
1045         (WebInspector.formatLinkText): Use "(program)" if URL is empty.
1046
1047 2012-09-19  Dan Bernstein  <mitz@apple.com>
1048
1049         WebCore part of adding a setting and API for disabling screen font substitution
1050         https://bugs.webkit.org/show_bug.cgi?id=97168
1051
1052         Reviewed by Tim Horton.
1053
1054         * WebCore.exp.in: Added an entry for Settings::setScreenFontSubstitutionEnabled.
1055         * css/StyleResolver.cpp:
1056         (WebCore::StyleResolver::collectMatchingRulesForList): Changed to use printer fonts if
1057         screen font substitution is not enabled.
1058         * page/Settings.cpp:
1059         (WebCore::Settings::Settings): Added initializer for new m_screenFontSubstitutionEnabled
1060         member variable. The initial value is true, matching existing behavior.
1061         (WebCore::Settings::setScreenFontSubstitutionEnabled): Added this setter, which updated the
1062         member variable and forces a style recalc in all pages using this Settings.
1063         * page/Settings.h:
1064         (Settings): Added m_screenFontSubstitutionEnabled boolean member variable.
1065         (WebCore::Settings::screenFontSubstitutionEnabled): Added this getter.
1066
1067 2012-09-19  Yoshifumi Inoue  <yosin@chromium.org>
1068
1069         [Forms] multiple fields time input UI should call notifyFormStateChanged() when value of field is changed
1070         https://bugs.webkit.org/show_bug.cgi?id=97169
1071
1072         Reviewed by Kent Tamura.
1073
1074         This patch makes multiple fields time input UI calls notifyFormStateChanged()
1075         when field value is changed as other input types do.
1076
1077         This patch affects ports which enable both ENABLE_INPUT_TYPE_TIME and
1078         ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS.
1079
1080         No new tests. We can't test this change in WebKit test tools. Test script
1081         will be implemented in Chromium side.
1082
1083         * html/TimeInputType.cpp:
1084         (WebCore::TimeInputType::DateTimeEditControlOwnerImpl::editControlValueChanged):
1085
1086 2012-09-19  Keishi Hattori  <keishi@webkit.org>
1087
1088         REGRESSION(r127727): Calendar picker focus ring should be hidden until key event
1089         https://bugs.webkit.org/show_bug.cgi?id=97165
1090
1091         Reviewed by Kent Tamura.
1092
1093         The regression was caused because NoFocusRing class was being removed
1094         from then main element inside resetMain().
1095
1096         No new tests. Covered by calendar-picker-appearance.html.
1097
1098         * Resources/pagepopups/calendarPicker.js:
1099         (initialize):
1100         (CalendarPicker):
1101         (CalendarPicker.prototype._layout):
1102         (DaysTable.prototype._handleKey):
1103         (CalendarPicker.prototype._handleBodyKeyDown):
1104         (CalendarPicker.prototype.maybeUpdateFocusStyle): Make this a method of CalendarPicker because we don't use it for other pickers.
1105
1106 2012-09-19  David Grogan  <dgrogan@chromium.org>
1107
1108         IndexedDB: Print console warning about setVersion
1109         https://bugs.webkit.org/show_bug.cgi?id=96575
1110
1111         Reviewed by Tony Chang.
1112
1113         setVersion has been out of the spec for almost a year but there are
1114         still a lot of users.
1115
1116         We show the warning once per database object as an approximation for
1117         once per page.
1118
1119         No new tests, but 150-something rebaselines.
1120
1121         * Modules/indexeddb/IDBDatabase.cpp:
1122         (WebCore::IDBDatabase::IDBDatabase):
1123         (WebCore::IDBDatabase::setVersion):
1124         * Modules/indexeddb/IDBDatabase.h:
1125         (IDBDatabase):
1126
1127 2012-09-19  Sean Wang  <Xuewen.Wang@torchmobile.com.cn>
1128
1129         [BlackBerry] Basic authentication challenge credentials for stored credentials again after restarting browser
1130         https://bugs.webkit.org/show_bug.cgi?id=96362
1131
1132         Reviewed by Rob Buis.
1133
1134         This patch enable reading credentials from the persistent credential storage
1135         when it is not private browsing mode and there is not a credential in the RAM
1136         for the requested resource.
1137
1138         Since we don't load persistent stored credentials into RAM at the starting time,
1139         even we have saved the credentials at the last browsing, after restarting the browser,
1140         it will still challenge for credentials for the requesting resources.
1141
1142         No new tests, it uses the original authentication tests. There is no way to
1143         clear all credentials or restarting browsers to test this feature.
1144
1145         * platform/network/blackberry/CredentialBackingStore.cpp:
1146         (WebCore::CredentialBackingStore::getProtectionSpace):
1147         (WebCore):
1148         * platform/network/blackberry/CredentialBackingStore.h:
1149         (CredentialBackingStore):
1150         * platform/network/blackberry/NetworkManager.cpp:
1151         (WebCore::NetworkManager::startJob):
1152
1153 2012-09-19  Shinya Kawanaka  <shinyak@chromium.org>
1154
1155         [Refactoring] ButtonInputType of <input> element should have innerElement to make <input> AuthorShadowDOM-ready
1156         https://bugs.webkit.org/show_bug.cgi?id=95939
1157
1158         Reviewed by Dimitri Glazkov.
1159
1160         We had 2 ways to show text in RenderButton. One is to use RenderButton::setText() and the other is to add renderer
1161         as a child of RenderButton. <input type="button"> used the former one, and <button> used the latter one.
1162         The former makes RenderButton a bit messy, and also prevents from making <input> AuthorShadowDOM ready.
1163
1164         So we remove RenderButton::setText() and refactor <input type="button"> to use a Shadow DOM to show text.
1165
1166         Since the text in <input type="button"> should create RenderTextFragment, we introduce TextForButtonInputType
1167         class. RenderText will allow us to select the inner text of <input>, but it should not.
1168
1169         No new tests, existing tests should cover the change.
1170
1171         * html/BaseButtonInputType.cpp:
1172         (TextForButtonInputType): Special Text node which creates RenderTextFragment.
1173         (WebCore):
1174         (WebCore::TextForButtonInputType::create):
1175         (WebCore::TextForButtonInputType::TextForButtonInputType):
1176         (WebCore::TextForButtonInputType::createRenderer):
1177         (WebCore::BaseButtonInputType::BaseButtonInputType):
1178         (WebCore::BaseButtonInputType::createShadowSubtree):
1179         (WebCore::BaseButtonInputType::destroyShadowSubtree):
1180         (WebCore::BaseButtonInputType::valueAttributeChanged): When a button value is changed, we reflect the value to
1181         the text node in ShadowDOM.
1182         * html/BaseButtonInputType.h:
1183         (BaseButtonInputType):
1184         * html/FileInputType.cpp:
1185         (WebCore::UploadButtonElement::create): Creates Shadow DOM subtree.
1186         (WebCore::UploadButtonElement::createForMultiple): Creates Shadow DOM subtree.
1187         * html/HTMLInputElement.cpp:
1188         (WebCore::HTMLInputElement::parseAttribute):
1189         * html/InputType.cpp:
1190         (WebCore::InputType::valueAttributeChanged):
1191         (WebCore):
1192         * html/InputType.h:
1193         (InputType):
1194         * rendering/RenderButton.cpp:
1195         (WebCore::RenderButton::RenderButton):
1196         (WebCore::RenderButton::styleDidChange): Removed unnecessary text related code.
1197         * rendering/RenderButton.h:
1198         (RenderButton):
1199
1200 2012-09-19  Jason Liu  <jason.liu@torchmobile.com.cn>
1201
1202         [BlackBerry] Get infinite amount of requests after attempting re-authentication basic.
1203         https://bugs.webkit.org/show_bug.cgi?id=96994
1204
1205         Reviewed by Rob Buis.
1206
1207         We should remove the wrong credentials before calling sendRequestWithCredentials again.
1208         #PR 200226
1209         Reviewed internally by Jonathan Dong.
1210
1211         No new tests. It is covered by ManualTests/blackberry/http-auth-challenge.html.
1212
1213
1214         * platform/network/blackberry/NetworkJob.cpp:
1215         (WebCore::NetworkJob::notifyAuthReceived):
1216
1217 2012-09-19  Adam Barth  <abarth@webkit.org>
1218
1219         Remove Blob.webkitSlice
1220         https://bugs.webkit.org/show_bug.cgi?id=96715
1221
1222         Reviewed by Darin Fisher.
1223
1224         Based on these usage metrics, it appears that it is safe to remove
1225         Blob.webkitSlice. Folks that were previously calling webkitSlice should
1226         just call slice instead. They do the same thing.
1227
1228         Ratio of Blob.webkitSlice calls to Blob.slice: 14.87%
1229         Ratio of Blob.webkitSlice calls to Document creation: 0.0053%
1230
1231         * fileapi/Blob.cpp:
1232         (WebCore::Blob::slice):
1233         * fileapi/Blob.h:
1234         (Blob):
1235         * fileapi/Blob.idl:
1236         * fileapi/File.h:
1237         (File):
1238         * inspector/front-end/FileUtils.js:
1239         (WebInspector.ChunkedFileReader.prototype._loadChunk):
1240
1241 2012-09-19  Julien Chaffraix  <jchaffraix@webkit.org>
1242
1243         The collapsing border code needs direction-aware border getters
1244         https://bugs.webkit.org/show_bug.cgi?id=96710
1245
1246         Reviewed by Ojan Vafai.
1247
1248         This refactoring is needed to extend our collapsing border support for mixed directionality
1249         at the table cell level (we currently wrongly ignore any direction below the row-group). For
1250         now, the new helpers are dumb and return exactly the old result but they will be made
1251         direction-aware in a follow-up change.
1252
1253         Refactoring covered by existing tests.
1254
1255         * rendering/RenderBox.h:
1256         (WebCore::RenderBox::hasSameDirectionAs):
1257         Added this helper function. For now, it's only used to compare against
1258         the table direction but we will reuse it to compare the current cell
1259         direction against the other table parts.
1260
1261         * rendering/RenderTableCell.h:
1262         (WebCore::RenderTableCell::computeCollapsedStartBorder):
1263         (WebCore::RenderTableCell::computeCollapsedEndBorder):
1264         Transitioned those 2 functions to using the new direction-aware functions.
1265
1266         * rendering/RenderTable.cpp:
1267         (WebCore::RenderTable::tableStartBorderAdjoiningCell):
1268         (WebCore::RenderTable::tableEndBorderAdjoiningCell):
1269         * rendering/RenderTableSection.cpp:
1270         (WebCore::RenderTableSection::firstRowCellAdjoiningTableStart):
1271         (WebCore::RenderTableSection::firstRowCellAdjoiningTableEnd):
1272         * rendering/RenderTableCell.h:
1273         (WebCore::RenderTableCell::borderAdjoiningTableStart):
1274         (WebCore::RenderTableCell::borderAdjoiningTableEnd):
1275         * rendering/RenderTableSection.h:
1276         (WebCore::RenderTableSection::borderAdjoiningTableStart):
1277         (WebCore::RenderTableSection::borderAdjoiningTableEnd):
1278         Updated those call sites to use RenderBox::hasSameDirectionAs.
1279
1280         * rendering/RenderTableCell.h:
1281         (WebCore::RenderTableCell::borderAdjoiningNextCell):
1282         (WebCore::RenderTableCell::borderAdjoiningPreviousCell):
1283         * rendering/RenderTableCol.cpp:
1284         (WebCore::RenderTableCol::borderAdjoiningCellStartBorder):
1285         (WebCore::RenderTableCol::borderAdjoiningCellEndBorder):
1286         (WebCore::RenderTableCol::borderAdjoiningCellBefore):
1287         (WebCore::RenderTableCol::borderAdjoiningCellAfter):
1288         * rendering/RenderTableCol.h:
1289         * rendering/RenderTableRow.cpp:
1290         (WebCore::RenderTableRow::borderAdjoiningStartCell):
1291         (WebCore::RenderTableRow::borderAdjoiningEndCell):
1292         * rendering/RenderTableRow.h:
1293         (WebCore::RenderTableRow::borderAdjoiningTableStart):
1294         (WebCore::RenderTableRow::borderAdjoiningTableEnd):
1295         * rendering/RenderTableSection.cpp:
1296         (WebCore::RenderTableSection::borderAdjoiningStartCell):
1297         (WebCore::RenderTableSection::borderAdjoiningEndCell):
1298         New direction-aware functions. Added some ASSERT to ensure
1299         we don't call them with the wrong parameters.
1300
1301 2012-09-19  Kentaro Hara  <haraken@chromium.org>
1302
1303         [V8] ScriptController::compileAndRunScript() can crash
1304         https://bugs.webkit.org/show_bug.cgi?id=96567
1305
1306         Reviewed by Adam Barth.
1307
1308         See chromium bug: http://code.google.com/p/chromium/issues/detail?id=146776
1309
1310         The root cause is that v8::PreCompile() can return 0 when the stack of
1311         V8's parser overflows (c.f. http://code.google.com/codesearch#OAMlx_jo-ck/src/v8/src/parser.cc&exact_package=chromium&q=kPreParseStackOverflow&type=cs&l=6021).
1312
1313         This patch adds the 0 check to the caller side. Given that precompileScript()
1314         is just trying to speculatively precompile a script, it's OK to give up
1315         precompiling for such edge cases.
1316
1317         Manually tested with the html generated by the following shell script:
1318
1319           echo '<script language="JavaScript" type="text/javascript" src="asan-crash.js"></script>' > asan-crash.html
1320           echo 'if(wURLF.search("")>=0) {}' > asan-crash.js
1321           for i in `seq 14830`
1322           do
1323             echo 'else if(wURLF.search("")>=0) {}' >> asan-crash.js
1324           done
1325
1326         I didn't add the test because '14380' depends on an environment
1327         and because we don't want to add a huge html test.
1328
1329         * bindings/v8/ScriptSourceCode.cpp:
1330         (WebCore::ScriptSourceCode::precompileScript):
1331
1332 2012-09-19  Joshua Bell  <jsbell@chromium.org>
1333
1334         IndexedDB: Pending call cleanup
1335         https://bugs.webkit.org/show_bug.cgi?id=96952
1336
1337         Reviewed by Tony Chang.
1338
1339         Replace RefPtr usage with OwnPtr for PendingXXXCalls (since they're never referenced twice)
1340         and replace queue of "second half open" calls with a single item.
1341
1342         No new tests - no functional changes.
1343
1344         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
1345         (WebCore::IDBDatabaseBackendImpl::PendingOpenCall::create):
1346         (WebCore::IDBDatabaseBackendImpl::PendingOpenWithVersionCall::create):
1347         (WebCore::IDBDatabaseBackendImpl::PendingDeleteCall::create):
1348         (WebCore::IDBDatabaseBackendImpl::PendingSetVersionCall::create):
1349         (WebCore::IDBDatabaseBackendImpl::setVersion):
1350         (WebCore::IDBDatabaseBackendImpl::transactionFinishedAndAbortFired):
1351         (WebCore::IDBDatabaseBackendImpl::processPendingCalls):
1352         (WebCore::IDBDatabaseBackendImpl::runIntVersionChangeTransaction):
1353         (WebCore::IDBDatabaseBackendImpl::close):
1354         * Modules/indexeddb/IDBDatabaseBackendImpl.h:
1355         (IDBDatabaseBackendImpl):
1356
1357 2012-09-19  Kenichi Ishibashi  <bashi@chromium.org>
1358
1359         [Chromium] Improve glyph positioning of HarfBuzzShaper
1360         https://bugs.webkit.org/show_bug.cgi?id=97093
1361
1362         Reviewed by Tony Chang.
1363
1364         For proper positioning, HarfBuzzShaper requires the positions(offsets and advance)
1365         of the previous glyph. This mean we need to shape all HarfBuzzRuns before glyph positioning.
1366         Collect and shape HarfBuzzRuns, then set positions of glyphs.
1367
1368         No new tests. Tests that uses spacing for complex text (e.g. fast/text/atsui-negative-spacing-features.html)
1369         should close in the expectations. (not the identical, maybe there are subtle differences between
1370         harfbuzz old and harfbuzz ng)
1371
1372         * platform/graphics/harfbuzz/ng/HarfBuzzShaper.cpp:
1373         (WebCore::HarfBuzzShaper::HarfBuzzRun::applyShapeResult): Allocate m_offsets.
1374         (WebCore::HarfBuzzShaper::HarfBuzzRun::setGlyphAndPositions): Renamed and set offset too.
1375         (WebCore::HarfBuzzShaper::HarfBuzzRun::characterIndexForXPosition):
1376         (WebCore::HarfBuzzShaper::shape): Call fillGlyphBuffer() if we need to fill glyphBuffer.
1377         (WebCore::HarfBuzzShaper::shapeHarfBuzzRuns): Removed glyph positioning code.
1378         (WebCore::HarfBuzzShaper::setGlyphPositionsForHarfBuzzRun): Ditto.
1379         (WebCore::HarfBuzzShaper::fillGlyphBufferFromHarfBuzzRun): Added.
1380         (WebCore):
1381         (WebCore::HarfBuzzShaper::fillGlyphBuffer): Added.
1382         * platform/graphics/harfbuzz/ng/HarfBuzzShaper.h:
1383         (HarfBuzzRun):
1384         (WebCore::HarfBuzzShaper::HarfBuzzRun::offsets): Added.
1385         (WebCore::HarfBuzzShaper::HarfBuzzRun::glyphToCharacterIndexes): Added.
1386         (HarfBuzzShaper):
1387
1388 2012-09-19  James Simonsen  <simonjam@chromium.org>
1389
1390         [Chromium] Disable resource load scheduling
1391         https://bugs.webkit.org/show_bug.cgi?id=97131
1392
1393         Reviewed by Nate Chapin.
1394
1395         We'll use Chrome's network stack for scheduling instead.
1396
1397         No new tests.
1398
1399         * loader/ResourceLoadScheduler.cpp:
1400         * loader/cache/CachedResourceLoader.cpp:
1401         (WebCore::CachedResourceLoader::preload):
1402
1403 2012-09-19  Dan Bernstein  <mitz@apple.com>
1404
1405         When kerning is enabled, word spacing is doubly accounted for in RenderText::computePreferredLogicalWidths
1406         https://bugs.webkit.org/show_bug.cgi?id=97146
1407
1408         Reviewed by Anders Carlsson.
1409
1410         Test: fast/text/word-space-with-kerning.html
1411
1412         * rendering/RenderText.cpp:
1413         (WebCore::RenderText::computePreferredLogicalWidths): When kerning is enabled, words are
1414         measured with their trailing space, if there is one, then the width of a space is subtracted.
1415         Changed that width, stored in the local variable wordTrailingSpaceWidth, to include the
1416         word spacing, since it is included in the result of widthFromCache().
1417
1418 2012-09-19  Joshua Bell  <jsbell@chromium.org>
1419
1420         IndexedDB: Remove "current transaction" concept from backing store
1421         https://bugs.webkit.org/show_bug.cgi?id=96663
1422
1423         Reviewed by Tony Chang.
1424
1425         IndexedDB should allow multiple transactions to run in parallel within and
1426         across databases within an origin. As an initial step to enabling this, the
1427         backing store should not hold a "current transaction" - instead, operations
1428         should be done relative to a transaction managed by the database.
1429
1430         No new tests - no functional changes.
1431
1432         * Modules/indexeddb/IDBBackingStore.h:
1433         (IDBBackingStore):
1434         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
1435         (WebCore::IDBDatabaseBackendImpl::createObjectStoreInternal):
1436         (WebCore::IDBDatabaseBackendImpl::deleteObjectStoreInternal):
1437         (WebCore::IDBDatabaseBackendImpl::setVersionInternal):
1438         (WebCore::IDBDatabaseBackendImpl::setIntVersionInternal):
1439         * Modules/indexeddb/IDBDatabaseBackendImpl.h:
1440         (IDBDatabaseBackendImpl):
1441         * Modules/indexeddb/IDBIndexBackendImpl.cpp:
1442         (WebCore::IDBIndexBackendImpl::openCursorInternal):
1443         (WebCore::IDBIndexBackendImpl::countInternal):
1444         (WebCore::IDBIndexBackendImpl::count):
1445         (WebCore::IDBIndexBackendImpl::getInternal):
1446         (WebCore::IDBIndexBackendImpl::getKeyInternal):
1447         (WebCore::IDBIndexBackendImpl::get):
1448         (WebCore::IDBIndexBackendImpl::getKey):
1449         * Modules/indexeddb/IDBIndexBackendImpl.h:
1450         (IDBIndexBackendImpl):
1451         * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
1452         (WebCore::IDBLevelDBBackingStore::updateIDBDatabaseIntVersion):
1453         (WebCore::IDBLevelDBBackingStore::updateIDBDatabaseMetaData):
1454         (WebCore::IDBLevelDBBackingStore::createObjectStore):
1455         (WebCore::IDBLevelDBBackingStore::deleteObjectStore):
1456         (WebCore::IDBLevelDBBackingStore::getObjectStoreRecord):
1457         (WebCore):
1458         (WebCore::IDBLevelDBBackingStore::putObjectStoreRecord):
1459         (WebCore::IDBLevelDBBackingStore::clearObjectStore):
1460         (WebCore::IDBLevelDBBackingStore::deleteObjectStoreRecord):
1461         (WebCore::IDBLevelDBBackingStore::getKeyGeneratorCurrentNumber):
1462         (WebCore::IDBLevelDBBackingStore::maybeUpdateKeyGeneratorCurrentNumber):
1463         (WebCore::IDBLevelDBBackingStore::keyExistsInObjectStore):
1464         (WebCore::IDBLevelDBBackingStore::forEachObjectStoreRecord):
1465         (WebCore::IDBLevelDBBackingStore::createIndex):
1466         (WebCore::IDBLevelDBBackingStore::deleteIndex):
1467         (WebCore::IDBLevelDBBackingStore::putIndexDataForRecord):
1468         (WebCore::IDBLevelDBBackingStore::deleteIndexDataForRecord):
1469         (WebCore::IDBLevelDBBackingStore::findKeyInIndex):
1470         (WebCore::IDBLevelDBBackingStore::getPrimaryKeyViaIndex):
1471         (WebCore::IDBLevelDBBackingStore::keyExistsInIndex):
1472         (WebCore::IDBLevelDBBackingStore::openObjectStoreCursor):
1473         (WebCore::IDBLevelDBBackingStore::openObjectStoreKeyCursor):
1474         (WebCore::IDBLevelDBBackingStore::openIndexKeyCursor):
1475         (WebCore::IDBLevelDBBackingStore::openIndexCursor):
1476         (WebCore::IDBLevelDBBackingStore::Transaction::Transaction):
1477         (WebCore::IDBLevelDBBackingStore::Transaction::begin):
1478         (WebCore::IDBLevelDBBackingStore::Transaction::commit):
1479         (WebCore::IDBLevelDBBackingStore::Transaction::rollback):
1480         * Modules/indexeddb/IDBLevelDBBackingStore.h:
1481         (IDBLevelDBBackingStore):
1482         (WebCore::IDBLevelDBBackingStore::Transaction::levelDBTransaction):
1483         (Transaction):
1484         (WebCore::IDBLevelDBBackingStore::Transaction::levelDBTransactionFrom):
1485         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
1486         (WebCore::IDBObjectStoreBackendImpl::get):
1487         (WebCore::IDBObjectStoreBackendImpl::getInternal):
1488         (WebCore):
1489         (WebCore::makeIndexWriters):
1490         (WebCore::IDBObjectStoreBackendImpl::setIndexKeys):
1491         (WebCore::IDBObjectStoreBackendImpl::putInternal):
1492         (WebCore::IDBObjectStoreBackendImpl::deleteFunction):
1493         (WebCore::IDBObjectStoreBackendImpl::deleteInternal):
1494         (WebCore::IDBObjectStoreBackendImpl::clear):
1495         (WebCore::IDBObjectStoreBackendImpl::clearInternal):
1496         (WebCore::IDBObjectStoreBackendImpl::createIndexInternal):
1497         (WebCore::IDBObjectStoreBackendImpl::deleteIndexInternal):
1498         (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
1499         (WebCore::IDBObjectStoreBackendImpl::count):
1500         (WebCore::IDBObjectStoreBackendImpl::countInternal):
1501         (WebCore::IDBObjectStoreBackendImpl::generateKey):
1502         (WebCore::IDBObjectStoreBackendImpl::updateKeyGenerator):
1503         * Modules/indexeddb/IDBObjectStoreBackendImpl.h:
1504         (IDBObjectStoreBackendImpl):
1505
1506 2012-09-19  Terry Anderson  <tdanderson@chromium.org>
1507
1508         [chromium] Store the contents scale factor in PlatformContextSkia on initialization
1509         https://bugs.webkit.org/show_bug.cgi?id=96137
1510
1511         Reviewed by Stephen White.
1512
1513         When the compositor creates a PlatformContextSkia, the scale on |canvas| will 
1514         be equal to the content scale factor (which, without pinch-to-zoom, will be
1515         the same as the device scale factor). Set this value as a member on PlatformContextSkia, 
1516         which will be used to correctly render glyphs when hinting is used and the device
1517         scale factor is not 1.
1518
1519         Tests: added two new unit tests.
1520
1521         * platform/graphics/chromium/OpaqueRectTrackingContentLayerDelegate.cpp:
1522         (WebCore::OpaqueRectTrackingContentLayerDelegate::paintContents):
1523         * platform/graphics/skia/PlatformContextSkia.cpp:
1524         (WebCore::PlatformContextSkia::PlatformContextSkia):
1525         (WebCore::PlatformContextSkia::setupPaintCommon):
1526         * platform/graphics/skia/PlatformContextSkia.h:
1527         (PlatformContextSkia):
1528         (WebCore::PlatformContextSkia::setHintingScaleFactor):
1529         (WebCore::PlatformContextSkia::hintingScaleFactor):
1530
1531 2012-09-19  Kenichi Ishibashi  <bashi@chromium.org>
1532
1533         [Chromium] HarfBuzzShaper should take into account combining characters
1534         https://bugs.webkit.org/show_bug.cgi?id=97069
1535
1536         Reviewed by Tony Chang.
1537
1538         When dividing a text run into HarfBuzzRuns, try to find suitable SimpleFontData for
1539         combining character sequence if there are one or more mark characters are followed.
1540         If there is no combined glyphs in the font, use fallback font for mark characters.
1541
1542         No new tests.
1543         In platform/chromium-linux/fast/text/international/complex-joining-using-gpos.html,
1544         U+0947 (devanagari vowel sign e) should be displayed.
1545         In fast/text/wide-zero-width-space.html, &eacute; and e&#0301; should look identical.
1546
1547         * platform/graphics/harfbuzz/ng/HarfBuzzShaper.cpp:
1548         (WebCore):
1549         (WebCore::fontDataForCombiningCharacterSequence): Added.
1550         (WebCore::HarfBuzzShaper::collectHarfBuzzRuns): See above description.
1551
1552 2012-09-19  Tony Chang  <tony@chromium.org>
1553
1554         Remove RenderIFrame::updateLogicalHeight and RenderIFrame::updateLogicalWidth
1555         https://bugs.webkit.org/show_bug.cgi?id=97049
1556
1557         Reviewed by Ojan Vafai.
1558
1559         This is an incremental step in making updateLogicalHeight non-virtual so it's
1560         possible to call computeLogicalHeight on any RenderBox and get the right
1561         version of the function.
1562
1563         The code in RenderIFrame::layout was calling flattenFrame(), which would
1564         query it's bounding box size.  Since we hadn't done a layout yet, the size
1565         is unknown.  The fix is to only call flattenFrame() after calling
1566         updateLogicalWidth and updateLogicalHeight. We can then fixup the size of
1567         the iframe.
1568
1569         No new tests, existing tests in fast/frames/flattening should continue to pass.
1570
1571         * rendering/RenderIFrame.cpp:
1572         (WebCore::RenderIFrame::layout):
1573         * rendering/RenderIFrame.h:
1574         (RenderIFrame):
1575
1576 2012-09-19  Joshua Bell  <jsbell@chromium.org>
1577
1578         IndexedDB: Free up resources used by completed cursors earlier
1579         https://bugs.webkit.org/show_bug.cgi?id=97023
1580
1581         Reviewed by Tony Chang.
1582
1583         Prior to this patch, IDBCursor objects are kept around by their parent
1584         IDBTransaction until the transaction finishes. It's possible to release
1585         references to them earlier, when the cursor has been "run to the end",
1586         as no further events will fire and all calls to continue() etc should fail.
1587
1588         This change tells the cursor it's done when "null" finally comes through in
1589         the IDBRequest, and the cursor then lets transaction know it can be
1590         forgotten.
1591
1592         The added test doesn't distinguish the new behavior, but does exercise
1593         "finished" cursors and apparently we didn't have tests for these before.
1594
1595         Test: storage/indexeddb/cursor-finished.html
1596
1597         * Modules/indexeddb/IDBCursor.cpp:
1598         (WebCore::IDBCursor::close): Make idempotent; notify transaction.
1599         * Modules/indexeddb/IDBRequest.cpp:
1600         (WebCore::IDBRequest::onSuccess): Tell cursor it's finished before releasing.
1601         * Modules/indexeddb/IDBTransaction.cpp:
1602         (WebCore::IDBTransaction::OpenCursorNotifier::~OpenCursorNotifier):
1603         (WebCore):
1604         (WebCore::IDBTransaction::OpenCursorNotifier::cursorFinished): New method for explicit notification.
1605         * Modules/indexeddb/IDBTransaction.h:
1606         (OpenCursorNotifier):
1607
1608 2012-09-19  David Grogan  <dgrogan@chromium.org>
1609
1610         IndexedDB: fire upgradeneeded even without an explicit integer version
1611         https://bugs.webkit.org/show_bug.cgi?id=96444
1612
1613         Reviewed by Tony Chang.
1614
1615         Also of note:
1616         - New databases now get a default version of 1 instead of
1617         the empty string when they are opened.
1618         - We now allow databases with an integer version to revert to a string
1619         version by calling setVersion.
1620
1621         Implementation detail: we store both an integer version and string
1622         version for a particular database. If both are set we give preference
1623         to the integer version and assume the db is on the integer track.
1624
1625         Test: storage/indexeddb/intversion-two-opens-no-versions.html
1626
1627         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
1628         (WebCore):
1629         (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
1630         (WebCore::IDBDatabaseBackendImpl::setVersion):
1631         (WebCore::IDBDatabaseBackendImpl::setVersionInternal):
1632         Now that this can be called even after an int version is set we have
1633         to make it revoke the int version.
1634
1635         (WebCore::IDBDatabaseBackendImpl::openConnection):
1636         Nested ifs were getting deep, so refactor to return early instead.
1637
1638         (WebCore::IDBDatabaseBackendImpl::deleteDatabase):
1639         (WebCore::IDBDatabaseBackendImpl::resetVersion):
1640         Now that an int version could have been set before setVersion was
1641         called we have to reset the int version on abort.
1642
1643         * Modules/indexeddb/IDBDatabaseBackendImpl.h:
1644         (IDBDatabaseBackendImpl):
1645         * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
1646         (WebCore::IDBLevelDBBackingStore::updateIDBDatabaseIntVersion):
1647         * Modules/indexeddb/IDBOpenDBRequest.cpp:
1648         0 is now a valid integer version to store to leveldb if an idb
1649         database is reverting to a string version.
1650
1651         (WebCore::IDBOpenDBRequest::onUpgradeNeeded):
1652         If the open request did not specify an integer version but
1653         upgradeneeded is called, it means the database was given the default
1654         version of 1.
1655
1656 2012-09-19  Dominic Mazzoni  <dmazzoni@google.com>
1657
1658         AX: A few control types are returning the wrong answer for isReadOnly
1659         https://bugs.webkit.org/show_bug.cgi?id=96735
1660
1661         Reviewed by Chris Fleizach.
1662
1663         All input types should be read-only except ones that
1664         are text fields. The previous logic was marking things like
1665         checkboxes as not read-only.
1666
1667         Tests: platform/chromium/accessibility/readonly.html
1668                platform/mac/accessibility/form-control-value-settable.html
1669
1670         * accessibility/AccessibilityNodeObject.cpp:
1671         (WebCore::AccessibilityNodeObject::isReadOnly):
1672
1673 2012-09-19  Mark Pilgrim  <pilgrim@chromium.org>
1674
1675         [Chromium] Remove unused PlatformSupport reference in V8GCController
1676         https://bugs.webkit.org/show_bug.cgi?id=97118
1677
1678         Reviewed by Ryosuke Niwa.
1679
1680         Part of a refactoring series. See tracking bug 82948.
1681         
1682         * bindings/v8/V8GCController.cpp:
1683
1684 2012-09-19  Mark Pilgrim  <pilgrim@chromium.org>
1685
1686         [Chromium] Remove unused PlatformSupport reference in V8DOMWindowShell
1687         https://bugs.webkit.org/show_bug.cgi?id=97117
1688
1689         Reviewed by Ryosuke Niwa.
1690
1691         Part of a refactoring series. See tracking bug 82948.
1692
1693         * bindings/v8/V8DOMWindowShell.cpp:
1694
1695 2012-09-19  Kentaro Hara  <haraken@chromium.org>
1696
1697         [V8] Remove WorkerContextExecutionProxy::runScript()
1698         https://bugs.webkit.org/show_bug.cgi?id=97060
1699
1700         Reviewed by Adam Barth.
1701
1702         To kill WorkerContextExecutionProxy, this patch removes
1703         WorkerContextExecutionProxy::runScript() by replacing it
1704         with ScriptRunner::runCompiledScript().
1705
1706         For the replacement, this patch moves TryCatch logic in
1707         runCompiledScript() to the caller side. The reason why
1708         we have to avoid nesting TryCatches is a V8 bug:
1709         http://code.google.com/p/v8/issues/detail?id=2166
1710
1711         No tests. No change in behavior.
1712
1713         * bindings/v8/ScriptController.cpp:
1714         (WebCore::ScriptController::compileAndRunScript):
1715         * bindings/v8/ScriptRunner.cpp:
1716         (WebCore::ScriptRunner::runCompiledScript):
1717         * bindings/v8/WorkerContextExecutionProxy.cpp:
1718         (WebCore::WorkerContextExecutionProxy::evaluate):
1719         * bindings/v8/WorkerContextExecutionProxy.h:
1720         (WorkerContextExecutionProxy):
1721
1722 2012-09-19  Rob Buis  <rbuis@rim.com>
1723
1724         [BlackBerry] Fix vertical positioning problem for 'X' in search field
1725         https://bugs.webkit.org/show_bug.cgi?id=97126
1726
1727         Reviewed by Antonio Gomes.
1728
1729         We have the same problem as described in bug 30245, so integrate that code.
1730
1731         * platform/blackberry/RenderThemeBlackBerry.cpp:
1732         (WebCore::RenderThemeBlackBerry::convertToPaintingRect):
1733         (WebCore):
1734         (WebCore::RenderThemeBlackBerry::paintSearchFieldCancelButton):
1735
1736 2012-09-19  Rob Buis  <rbuis@rim.com>
1737
1738         [BlackBerry] Remove custom painting code for searchCancel
1739         https://bugs.webkit.org/show_bug.cgi?id=97119
1740
1741         Reviewed by Antonio Gomes.
1742
1743         Remove the dynamic painting code for searchCancel, we use a png file now.
1744
1745         * platform/graphics/blackberry/ImageBlackBerry.cpp:
1746         (WebCore::Image::loadPlatformResource):
1747
1748 2012-09-19  Mark Pilgrim  <pilgrim@chromium.org>
1749
1750         [Chromium] Move notifyJSOutOfMemory out of PlatformSupport
1751         https://bugs.webkit.org/show_bug.cgi?id=97116
1752
1753         Reviewed by Adam Barth.
1754
1755         Part of a refactoring series. See tracking bug 82948.
1756
1757         * bindings/v8/V8Binding.cpp:
1758         (WebCore::handleOutOfMemory):
1759         * loader/FrameLoaderClient.h:
1760         (WebCore::FrameLoaderClient::didExhaustMemoryAvailableForScript):
1761         (FrameLoaderClient):
1762         * platform/chromium/PlatformSupport.h:
1763         (PlatformSupport):
1764
1765 2012-09-18  Dirk Schulze  <krit@webkit.org>
1766
1767         Implement 'mask-type' for <mask>
1768         https://bugs.webkit.org/show_bug.cgi?id=97011
1769
1770         Reviewed by Andreas Kling.
1771
1772         The CSS Masking specification defines the presentation attribute 'mask-type' to
1773         switch between luminance and alpha masking. 'mask-type' just affects the SVG
1774         mask element. The luminance masking is the current behavior of of SVG masking.
1775         Alpha masking is simular to '-webkit-mask-image'.
1776
1777         This patch implements this property and make it possible to switch between both
1778         masking modes. Since the default value is 'luminance', this does not break
1779         exisiting content which is tested with exisiting tests.
1780
1781         http://dvcs.w3.org/hg/FXTF/raw-file/tip/masking/index.html#the-mask-type
1782
1783         Tests: svg/css/mask-type.html
1784                svg/masking/mask-type-alpha-expected.svg
1785                svg/masking/mask-type-alpha.svg
1786                svg/masking/mask-type-luminance-expected.svg
1787                svg/masking/mask-type-luminance.svg
1788                svg/masking/mask-type-not-set-expected.svg
1789                svg/masking/mask-type-not-set.svg
1790
1791         * css/CSSComputedStyleDeclaration.cpp: Add mask-type property.
1792         (WebCore):
1793         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1794         * css/CSSPrimitiveValueMappings.h:
1795         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1796         (WebCore):
1797         (WebCore::CSSPrimitiveValue::operator EMaskType):
1798         * css/CSSProperty.cpp:
1799         (WebCore::CSSProperty::isInheritedProperty):
1800         * css/SVGCSSComputedStyleDeclaration.cpp:
1801         (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
1802         * css/SVGCSSParser.cpp:
1803         (WebCore::CSSParser::parseSVGValue):
1804         * css/SVGCSSPropertyNames.in: Add mask-type.
1805         * css/SVGCSSStyleSelector.cpp:
1806         (WebCore::StyleResolver::applySVGProperty):
1807         * css/SVGCSSValueKeywords.in:
1808         * rendering/style/SVGRenderStyle.cpp:
1809         (WebCore::SVGRenderStyle::diff):
1810         * rendering/style/SVGRenderStyle.h:
1811         (WebCore::SVGRenderStyle::initialMaskType):
1812         (WebCore::SVGRenderStyle::setMaskType):
1813         (SVGRenderStyle):
1814         (WebCore::SVGRenderStyle::maskType):
1815         (WebCore::SVGRenderStyle::setBitDefaults):
1816         * rendering/style/SVGRenderStyleDefs.h:
1817         * rendering/svg/RenderSVGResourceMasker.cpp:
1818
1819             Switch between the two masking modes according to the
1820             computed value of mask-type.
1821
1822         (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
1823         * svg/SVGStyledElement.cpp:
1824         (WebCore::SVGStyledElement::cssPropertyIdForSVGAttributeName):
1825         (WebCore::cssPropertyToTypeMap):
1826         * svg/svgattrs.in: Add the new attribute to the attribute list.
1827
1828 2012-09-19  Mark Pilgrim  <pilgrim@chromium.org>
1829
1830         [Chromium] Remove unused popupsAllowed function from PlatformSupport
1831         https://bugs.webkit.org/show_bug.cgi?id=96521
1832
1833         Reviewed by Eric Seidel.
1834
1835         Part of a refactoring series. See tracking bug 82948.
1836
1837         * bindings/v8/NPV8Object.cpp:
1838         (WebCore::v8ObjectToNPObject):
1839         (_NPN_Evaluate):
1840         (_NPN_GetProperty):
1841         * platform/chromium/PlatformSupport.h:
1842         (PlatformSupport):
1843
1844 2012-09-19  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>
1845
1846         [BlackBerry] Add function playerId() in class PageClientBlackBerry
1847         https://bugs.webkit.org/show_bug.cgi?id=97099
1848
1849         Reviewed by Yong Li.
1850
1851         Added function playerID() in class PageClientBlackBerry.
1852
1853         Internally reviewed by Charles Wei.
1854
1855         No new tests since there's no functional change.
1856
1857         * platform/blackberry/PageClientBlackBerry.h:
1858
1859 2012-09-19  Raul Hudea  <rhudea@adobe.com>
1860
1861         [CSSRegions][CSSOM] Make sure all Regions APIs are not visible if CSS_REGIONS is not defined
1862         https://bugs.webkit.org/show_bug.cgi?id=96300
1863
1864         Reviewed by Yury Semikhatsky.
1865
1866         All CSS Regions APIs should be exposed only if CSS_REGIONS is enabled
1867
1868         No new tests because of no behavior changes.
1869
1870         * css/StyleRule.cpp:
1871         (WebCore::StyleRuleBase::reportMemoryUsage): Fix compile without CSS_REGIONS enabled and added an ASSERT_NOT_REACHED as in other functions
1872         * dom/Element.cpp: Compile webkitRegionOverset only if CSS_REGIONS is enabled
1873         (WebCore):
1874         * dom/Element.h:
1875         * dom/Element.idl: Expose webkitRegionOverset only if CSS_REGIONS is enabled
1876
1877 2012-09-19  Patrick Gansterer  <paroga@webkit.org>
1878
1879         Remove all usages of M_PI from WebCore
1880         https://bugs.webkit.org/show_bug.cgi?id=93109
1881
1882         Reviewed by Dirk Schulze.
1883
1884         <wtf/MathExtras.h> implements many functions dealing with M_PI.
1885         Use them in WebCore instead of duplicating the functionality.
1886
1887         * platform/blackberry/PlatformTouchEventBlackBerry.cpp:
1888         (WebCore::PlatformTouchEvent::PlatformTouchEvent):
1889         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
1890         (PlatformCALayer::setFilters):
1891         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1892         (WebCore::GraphicsContext::drawEllipse):
1893         (WebCore::GraphicsContext::strokeArc):
1894         * platform/graphics/wx/FontPlatformDataWxMac.mm:
1895         * platform/mac/WebWindowAnimation.mm:
1896         (-[WebWindowScaleAnimation currentValue]):
1897         * platform/wx/wxcode/gdiplus/non-kerned-drawing.cpp:
1898         (DegToRad):
1899         (RadToDeg):
1900
1901 2012-09-10  Vsevolod Vlasov  <vsevik@chromium.org>
1902
1903         Web Inspector: Network request headers text fallback has typo.
1904         https://bugs.webkit.org/show_bug.cgi?id=96280
1905
1906         Reviewed by Pavel Feldman.
1907
1908         * inspector/front-end/NetworkRequest.js:
1909         (WebInspector.NetworkRequest.prototype.get requestHeadersText):
1910         (WebInspector.NetworkRequest.prototype.get responseHeadersText):
1911
1912 2012-09-19  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>
1913
1914         [BlackBerry] remove static_cast which will cause video crash
1915         https://bugs.webkit.org/show_bug.cgi?id=97070
1916
1917         Reviewed by Antonio Gomes.
1918
1919         Removed the static_cast to avoid layering violation which
1920         will cause a runtime crash.
1921         We won't create a real MediaPlayerPrivate object before we call
1922         MediaPlayer::load(), so if we use player()->implementation()
1923         before calling load() in some cases, it points to a
1924         NullMediaPlayerPrivate object. Here we should not use static_cast,
1925         instead we should use HTMLMediaElement::percentLoaded() to
1926         avoid layering violation as we don't have the buffering bug which
1927         the deleted comment refers to.
1928
1929         Internally reviewed by Max Feil.
1930
1931         Test case: media/video-size.html
1932
1933         * platform/blackberry/RenderThemeBlackBerry.cpp:
1934         (WebCore::RenderThemeBlackBerry::paintMediaSliderTrack):
1935
1936 2012-09-19  Rick Byers  <rbyers@chromium.org>
1937
1938         Do touch adjustment on GestureTapDown
1939         https://bugs.webkit.org/show_bug.cgi?id=96677
1940
1941         Reviewed by Antonio Gomes.
1942
1943         Do touch adjustment on GestureTapDown exactly as for GestureTap today.
1944
1945         Test: touchadjustment/touch-links-active.html
1946
1947         * page/EventHandler.cpp:
1948         (WebCore::EventHandler::handleGestureEvent):
1949         (WebCore::EventHandler::adjustGesturePosition):
1950
1951 2012-09-19  Vsevolod Vlasov  <vsevik@chromium.org>
1952
1953         Unreviewed another follow up Apple Win build fix for r128992.
1954
1955         * inspector/InspectorAllInOne.cpp:
1956
1957 2012-09-19  Carlos Garcia Campos  <cgarcia@igalia.com>
1958
1959         [GTK] REGRESSION(r128907): it broke several WebKit2 API tests
1960         https://bugs.webkit.org/show_bug.cgi?id=97092
1961
1962         Reviewed by Martin Robinson.
1963
1964         Calling resizeLater() from the constructor of
1965         RedirectedXCompositeWindow can cause the callback to be called
1966         later by the main loop after the RedirectedXCompositeWindow object
1967         has been destroyed. Instead of calling resizeLater(), initialize
1968         the usable size to the given initial size.
1969
1970         * platform/gtk/RedirectedXCompositeWindow.cpp:
1971         (WebCore::RedirectedXCompositeWindow::RedirectedXCompositeWindow):
1972
1973 2012-09-19  Vsevolod Vlasov  <vsevik@chromium.org>
1974
1975         Unreviewed follow up Apple Win build fix for r128992.
1976
1977         * inspector/InspectorAllInOne.cpp:
1978
1979 2012-09-19  Andrey Adaikin  <aandrey@chromium.org>
1980
1981         Web Inspector: [WebGL] -> [Canvas] Rename WebGLAgent to CanvasAgent
1982         https://bugs.webkit.org/show_bug.cgi?id=96917
1983
1984         Reviewed by Vsevolod Vlasov.
1985
1986         Rename WebGLAgent* and WebGLInstrumentation* files to Canvas* as we will support both 2D and 3D/WebGL canvas instrumentation.
1987
1988         * CMakeLists.txt:
1989         * DerivedSources.make:
1990         * DerivedSources.pri:
1991         * GNUmakefile.am:
1992         * GNUmakefile.list.am:
1993         * Target.pri:
1994         * WebCore.gyp/WebCore.gyp:
1995         * WebCore.gypi:
1996         * WebCore.vcproj/WebCore.vcproj:
1997         * WebCore.xcodeproj/project.pbxproj:
1998         * bindings/js/JSHTMLCanvasElementCustom.cpp:
1999         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
2000         * inspector/CodeGeneratorInspector.py:
2001         * inspector/InjectedScriptCanvasModule.cpp: Renamed from Source/WebCore/inspector/InjectedScriptWebGLModule.cpp.
2002         (WebCore):
2003         (WebCore::InjectedScriptCanvasModule::InjectedScriptCanvasModule):
2004         (WebCore::InjectedScriptCanvasModule::moduleForState):
2005         (WebCore::InjectedScriptCanvasModule::source):
2006         (WebCore::InjectedScriptCanvasModule::wrapWebGLContext):
2007         (WebCore::InjectedScriptCanvasModule::captureFrame):
2008         (WebCore::InjectedScriptCanvasModule::dropTraceLog):
2009         (WebCore::InjectedScriptCanvasModule::traceLog):
2010         (WebCore::InjectedScriptCanvasModule::replayTraceLog):
2011         * inspector/InjectedScriptCanvasModule.h: Renamed from Source/WebCore/inspector/InjectedScriptWebGLModule.h.
2012         (WebCore):
2013         (InjectedScriptCanvasModule):
2014         * inspector/InjectedScriptCanvasModuleSource.js: Renamed from Source/WebCore/inspector/InjectedScriptWebGLModuleSource.js.
2015         (.):
2016         * inspector/Inspector.json:
2017         * inspector/InspectorAllInOne.cpp:
2018         * inspector/InspectorCanvasAgent.cpp: Renamed from Source/WebCore/inspector/InspectorWebGLAgent.cpp.
2019         (WebCore):
2020         (CanvasAgentState):
2021         (WebCore::InspectorCanvasAgent::InspectorCanvasAgent):
2022         (WebCore::InspectorCanvasAgent::~InspectorCanvasAgent):
2023         (WebCore::InspectorCanvasAgent::setFrontend):
2024         (WebCore::InspectorCanvasAgent::clearFrontend):
2025         (WebCore::InspectorCanvasAgent::restore):
2026         (WebCore::InspectorCanvasAgent::enable):
2027         (WebCore::InspectorCanvasAgent::disable):
2028         (WebCore::InspectorCanvasAgent::dropTraceLog):
2029         (WebCore::InspectorCanvasAgent::captureFrame):
2030         (WebCore::InspectorCanvasAgent::getTraceLog):
2031         (WebCore::InspectorCanvasAgent::replayTraceLog):
2032         (WebCore::InspectorCanvasAgent::wrapWebGLRenderingContextForInstrumentation):
2033         (WebCore::InspectorCanvasAgent::injectedScriptCanvasModuleForTraceLogId):
2034         * inspector/InspectorCanvasAgent.h: Renamed from Source/WebCore/inspector/InspectorWebGLAgent.h.
2035         (WebCore):
2036         (InspectorCanvasAgent):
2037         (WebCore::InspectorCanvasAgent::create):
2038         (WebCore::InspectorCanvasAgent::enabled):
2039         * inspector/InspectorCanvasInstrumentation.h: Renamed from Source/WebCore/inspector/InspectorWebGLInstrumentation.h.
2040         (WebCore):
2041         (WebCore::InspectorInstrumentation::wrapWebGLRenderingContextForInstrumentation):
2042         * inspector/InspectorController.cpp:
2043         (WebCore::InspectorController::InspectorController):
2044         * inspector/InstrumentingAgents.h:
2045         (WebCore):
2046         (WebCore::InstrumentingAgents::InstrumentingAgents):
2047         (WebCore::InstrumentingAgents::inspectorCanvasAgent):
2048         (WebCore::InstrumentingAgents::setInspectorCanvasAgent):
2049         (InstrumentingAgents):
2050         * inspector/compile-front-end.py:
2051         * inspector/front-end/CanvasProfileView.js: Renamed from Source/WebCore/inspector/front-end/WebGLProfileView.js.
2052         (WebInspector.CanvasProfileView):
2053         (WebInspector.CanvasProfileView.prototype.dispose):
2054         (WebInspector.CanvasProfileView.prototype.get statusBarItems):
2055         (WebInspector.CanvasProfileView.prototype.get profile):
2056         (WebInspector.CanvasProfileView.prototype.wasShown):
2057         (WebInspector.CanvasProfileView.prototype.willHide):
2058         (WebInspector.CanvasProfileView.prototype._showTraceLog):
2059         (WebInspector.CanvasProfileView.prototype._onTraceLogItemClick.didReplayTraceLog):
2060         (WebInspector.CanvasProfileView.prototype._onTraceLogItemClick):
2061         (WebInspector.CanvasProfileType):
2062         (WebInspector.CanvasProfileType.prototype.get buttonTooltip):
2063         (WebInspector.CanvasProfileType.prototype.buttonClicked.didStartCapturingFrame):
2064         (WebInspector.CanvasProfileType.prototype.buttonClicked):
2065         (WebInspector.CanvasProfileType.prototype.get treeItemTitle):
2066         (WebInspector.CanvasProfileType.prototype.get description):
2067         (WebInspector.CanvasProfileType.prototype.reset):
2068         (WebInspector.CanvasProfileType.prototype.createTemporaryProfile):
2069         (WebInspector.CanvasProfileType.prototype.createProfile):
2070         (WebInspector.CanvasProfileHeader):
2071         (WebInspector.CanvasProfileHeader.prototype.traceLogId):
2072         (WebInspector.CanvasProfileHeader.prototype.createSidebarTreeElement):
2073         (WebInspector.CanvasProfileHeader.prototype.createView):
2074         * inspector/front-end/ProfilesPanel.js:
2075         (WebInspector.ProfilesPanel):
2076         * inspector/front-end/Settings.js:
2077         (WebInspector.ExperimentsSettings):
2078         * inspector/front-end/WebKit.qrc:
2079         * inspector/front-end/canvasProfiler.css: Renamed from Source/WebCore/inspector/front-end/webGLProfiler.css.
2080         (.canvas-profile-view):
2081         (.canvas-trace-log):
2082         (.canvas-trace-log div):
2083         (#canvas-replay-image-container):
2084         (#canvas-replay-image):
2085
2086 2012-09-19  Carlos Garcia Campos  <cgarcia@igalia.com>
2087
2088         [GTK] Add API to get/set the security policy of a given URI scheme to WebKit2 GTK+
2089         https://bugs.webkit.org/show_bug.cgi?id=96497
2090
2091         Reviewed by Martin Robinson.
2092
2093         * WebCore.exp.in: Add new exported symbols.
2094
2095 2012-09-19  Patrick Gansterer  <paroga@webkit.org>
2096
2097         [WIN] Use BString in favour of BSTR to improve memory management
2098         https://bugs.webkit.org/show_bug.cgi?id=93128
2099
2100         Reviewed by Anders Carlsson.
2101
2102         BString automatically calls SysFreeString() in its destructor which helps
2103         avoiding memory leaks. So it should be used instead of BSTR directly.
2104         Add operator& to BString to allow its usage for out parameters too (like COMPtr).
2105         This fixes already a few memory leaks in the existing code.
2106
2107         * platform/win/BString.cpp:
2108         (WebCore::BString::~BString):
2109         (WebCore::BString::adoptBSTR):
2110         (WebCore::BString::clear):
2111         (WebCore):
2112         * platform/win/BString.h:
2113         (BString):
2114         (WebCore::BString::operator&):
2115
2116 2012-09-19  Simon Hausmann  <simon.hausmann@digia.com>
2117
2118         [Qt] Link failure with bfd linker on --minimal build
2119         https://bugs.webkit.org/show_bug.cgi?id=97075
2120
2121         Reviewed by Tor Arne Vestbø.
2122
2123         Fix two dependency errors triggered by --minimal:
2124
2125         - GStreamerVersioning.cpp uses functions from libgstvideo (gst_video_format_parse_caps), so we need to pull
2126         that module not only when video is enabled by generally when using gstreamer.
2127         - GraphicsSurfaceGLX depends on Xlib (XOpenDisplay, etc.), so we need to do CONFIG += x11 to get that and not
2128         implicitly rely on x11 netscape plugins being enabled.
2129
2130         * WebCore.pri:
2131
2132 2012-09-19  Tommy Widenflycht  <tommyw@google.com>
2133
2134         MediaStream API: Rename the RTCIceServer uri parameter to url.
2135         https://bugs.webkit.org/show_bug.cgi?id=97086
2136
2137         Reviewed by Hajime Morita.
2138
2139         Either the standard has changed or I can't read.
2140         http://dev.w3.org/2011/webrtc/editor/webrtc.html#dictionary-rtciceserver-members
2141
2142         Existing tests changed to cover this patch.
2143
2144         * Modules/mediastream/RTCPeerConnection.cpp:
2145         (WebCore::RTCPeerConnection::parseConfiguration):
2146
2147 2012-09-19  Sheriff Bot  <webkit.review.bot@gmail.com>
2148
2149         Unreviewed, rolling out r128976.
2150         http://trac.webkit.org/changeset/128976
2151         https://bugs.webkit.org/show_bug.cgi?id=97083
2152
2153         Breaks compilation on QT, Apple WIn (Requested by vsevik on
2154         #webkit).
2155
2156         * CMakeLists.txt:
2157         * DerivedSources.make:
2158         * DerivedSources.pri:
2159         * GNUmakefile.am:
2160         * GNUmakefile.list.am:
2161         * Target.pri:
2162         * WebCore.gyp/WebCore.gyp:
2163         * WebCore.gypi:
2164         * WebCore.vcproj/WebCore.vcproj:
2165         * WebCore.xcodeproj/project.pbxproj:
2166         * bindings/js/JSHTMLCanvasElementCustom.cpp:
2167         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
2168         * inspector/CodeGeneratorInspector.py:
2169         * inspector/InjectedScriptWebGLModule.cpp: Renamed from Source/WebCore/inspector/InjectedScriptCanvasModule.cpp.
2170         (WebCore):
2171         (WebCore::InjectedScriptWebGLModule::InjectedScriptWebGLModule):
2172         (WebCore::InjectedScriptWebGLModule::moduleForState):
2173         (WebCore::InjectedScriptWebGLModule::source):
2174         (WebCore::InjectedScriptWebGLModule::wrapWebGLContext):
2175         (WebCore::InjectedScriptWebGLModule::captureFrame):
2176         (WebCore::InjectedScriptWebGLModule::dropTraceLog):
2177         (WebCore::InjectedScriptWebGLModule::traceLog):
2178         (WebCore::InjectedScriptWebGLModule::replayTraceLog):
2179         * inspector/InjectedScriptWebGLModule.h: Renamed from Source/WebCore/inspector/InjectedScriptCanvasModule.h.
2180         (WebCore):
2181         (InjectedScriptWebGLModule):
2182         * inspector/InjectedScriptWebGLModuleSource.js: Renamed from Source/WebCore/inspector/InjectedScriptCanvasModuleSource.js.
2183         (.):
2184         * inspector/Inspector.json:
2185         * inspector/InspectorAllInOne.cpp:
2186         * inspector/InspectorController.cpp:
2187         (WebCore::InspectorController::InspectorController):
2188         * inspector/InspectorWebGLAgent.cpp: Renamed from Source/WebCore/inspector/InspectorCanvasAgent.cpp.
2189         (WebCore):
2190         (WebGLAgentState):
2191         (WebCore::InspectorWebGLAgent::InspectorWebGLAgent):
2192         (WebCore::InspectorWebGLAgent::~InspectorWebGLAgent):
2193         (WebCore::InspectorWebGLAgent::setFrontend):
2194         (WebCore::InspectorWebGLAgent::clearFrontend):
2195         (WebCore::InspectorWebGLAgent::restore):
2196         (WebCore::InspectorWebGLAgent::enable):
2197         (WebCore::InspectorWebGLAgent::disable):
2198         (WebCore::InspectorWebGLAgent::dropTraceLog):
2199         (WebCore::InspectorWebGLAgent::captureFrame):
2200         (WebCore::InspectorWebGLAgent::getTraceLog):
2201         (WebCore::InspectorWebGLAgent::replayTraceLog):
2202         (WebCore::InspectorWebGLAgent::wrapWebGLRenderingContextForInstrumentation):
2203         (WebCore::InspectorWebGLAgent::injectedScriptWebGLModuleForTraceLogId):
2204         * inspector/InspectorWebGLAgent.h: Renamed from Source/WebCore/inspector/InspectorCanvasAgent.h.
2205         (WebCore):
2206         (InspectorWebGLAgent):
2207         (WebCore::InspectorWebGLAgent::create):
2208         (WebCore::InspectorWebGLAgent::enabled):
2209         * inspector/InspectorWebGLInstrumentation.h: Renamed from Source/WebCore/inspector/InspectorCanvasInstrumentation.h.
2210         (WebCore):
2211         (WebCore::InspectorInstrumentation::wrapWebGLRenderingContextForInstrumentation):
2212         * inspector/InstrumentingAgents.h:
2213         (WebCore):
2214         (WebCore::InstrumentingAgents::InstrumentingAgents):
2215         (InstrumentingAgents):
2216         (WebCore::InstrumentingAgents::inspectorWebGLAgent):
2217         (WebCore::InstrumentingAgents::setInspectorWebGLAgent):
2218         * inspector/compile-front-end.py:
2219         * inspector/front-end/ProfilesPanel.js:
2220         (WebInspector.ProfilesPanel):
2221         * inspector/front-end/Settings.js:
2222         (WebInspector.ExperimentsSettings):
2223         * inspector/front-end/WebGLProfileView.js: Renamed from Source/WebCore/inspector/front-end/CanvasProfileView.js.
2224         (WebInspector.WebGLProfileView):
2225         (WebInspector.WebGLProfileView.prototype.dispose):
2226         (WebInspector.WebGLProfileView.prototype.get statusBarItems):
2227         (WebInspector.WebGLProfileView.prototype.get profile):
2228         (WebInspector.WebGLProfileView.prototype.wasShown):
2229         (WebInspector.WebGLProfileView.prototype.willHide):
2230         (WebInspector.WebGLProfileView.prototype._showTraceLog):
2231         (WebInspector.WebGLProfileView.prototype._onTraceLogItemClick.didReplayTraceLog):
2232         (WebInspector.WebGLProfileView.prototype._onTraceLogItemClick):
2233         (WebInspector.WebGLProfileType):
2234         (WebInspector.WebGLProfileType.prototype.get buttonTooltip):
2235         (WebInspector.WebGLProfileType.prototype.buttonClicked.didStartCapturingFrame):
2236         (WebInspector.WebGLProfileType.prototype.buttonClicked):
2237         (WebInspector.WebGLProfileType.prototype.get treeItemTitle):
2238         (WebInspector.WebGLProfileType.prototype.get description):
2239         (WebInspector.WebGLProfileType.prototype.reset):
2240         (WebInspector.WebGLProfileType.prototype.createTemporaryProfile):
2241         (WebInspector.WebGLProfileType.prototype.createProfile):
2242         (WebInspector.WebGLProfileHeader):
2243         (WebInspector.WebGLProfileHeader.prototype.traceLogId):
2244         (WebInspector.WebGLProfileHeader.prototype.createSidebarTreeElement):
2245         (WebInspector.WebGLProfileHeader.prototype.createView):
2246         * inspector/front-end/WebKit.qrc:
2247         * inspector/front-end/webGLProfiler.css: Renamed from Source/WebCore/inspector/front-end/canvasProfiler.css.
2248         (.webgl-profile-view):
2249         (.webgl-trace-log):
2250         (.webgl-trace-log div):
2251         (#webgl-replay-image-container):
2252         (#webgl-replay-image):
2253
2254 2012-09-19  Simon Hausmann  <simon.hausmann@digia.com>
2255
2256         [Qt][Win] Fix rendering of flash content when scrolling
2257         https://bugs.webkit.org/show_bug.cgi?id=92905
2258
2259         Reviewed by Jocelyn Turcotte.
2260
2261         Fix rendering offset similar to r121441.
2262
2263         * plugins/win/PluginViewWin.cpp:
2264         (WebCore::PluginView::paint):
2265         (WebCore::PluginView::setNPWindowRect):
2266
2267 2012-09-19  Andrey Adaikin  <aandrey@chromium.org>
2268
2269         Web Inspector: [WebGL] -> [Canvas] Rename WebGLAgent to CanvasAgent
2270         https://bugs.webkit.org/show_bug.cgi?id=96917
2271
2272         Reviewed by Vsevolod Vlasov.
2273
2274         Rename WebGLAgent* and WebGLInstrumentation* files to Canvas* as we will support both 2D and 3D/WebGL canvas instrumentation.
2275
2276         * CMakeLists.txt:
2277         * DerivedSources.make:
2278         * DerivedSources.pri:
2279         * GNUmakefile.am:
2280         * GNUmakefile.list.am:
2281         * Target.pri:
2282         * WebCore.gyp/WebCore.gyp:
2283         * WebCore.gypi:
2284         * WebCore.vcproj/WebCore.vcproj:
2285         * WebCore.xcodeproj/project.pbxproj:
2286         * bindings/js/JSHTMLCanvasElementCustom.cpp:
2287         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
2288         * inspector/CodeGeneratorInspector.py:
2289         * inspector/InjectedScriptCanvasModule.cpp: Renamed from Source/WebCore/inspector/InjectedScriptWebGLModule.cpp.
2290         (WebCore):
2291         (WebCore::InjectedScriptCanvasModule::InjectedScriptCanvasModule):
2292         (WebCore::InjectedScriptCanvasModule::moduleForState):
2293         (WebCore::InjectedScriptCanvasModule::source):
2294         (WebCore::InjectedScriptCanvasModule::wrapWebGLContext):
2295         (WebCore::InjectedScriptCanvasModule::captureFrame):
2296         (WebCore::InjectedScriptCanvasModule::dropTraceLog):
2297         (WebCore::InjectedScriptCanvasModule::traceLog):
2298         (WebCore::InjectedScriptCanvasModule::replayTraceLog):
2299         * inspector/InjectedScriptCanvasModule.h: Renamed from Source/WebCore/inspector/InjectedScriptWebGLModule.h.
2300         (WebCore):
2301         (InjectedScriptCanvasModule):
2302         * inspector/InjectedScriptCanvasModuleSource.js: Renamed from Source/WebCore/inspector/InjectedScriptWebGLModuleSource.js.
2303         (.):
2304         * inspector/Inspector.json:
2305         * inspector/InspectorAllInOne.cpp:
2306         * inspector/InspectorCanvasAgent.cpp: Renamed from Source/WebCore/inspector/InspectorWebGLAgent.cpp.
2307         (WebCore):
2308         (CanvasAgentState):
2309         (WebCore::InspectorCanvasAgent::InspectorCanvasAgent):
2310         (WebCore::InspectorCanvasAgent::~InspectorCanvasAgent):
2311         (WebCore::InspectorCanvasAgent::setFrontend):
2312         (WebCore::InspectorCanvasAgent::clearFrontend):
2313         (WebCore::InspectorCanvasAgent::restore):
2314         (WebCore::InspectorCanvasAgent::enable):
2315         (WebCore::InspectorCanvasAgent::disable):
2316         (WebCore::InspectorCanvasAgent::dropTraceLog):
2317         (WebCore::InspectorCanvasAgent::captureFrame):
2318         (WebCore::InspectorCanvasAgent::getTraceLog):
2319         (WebCore::InspectorCanvasAgent::replayTraceLog):
2320         (WebCore::InspectorCanvasAgent::wrapWebGLRenderingContextForInstrumentation):
2321         (WebCore::InspectorCanvasAgent::injectedScriptCanvasModuleForTraceLogId):
2322         * inspector/InspectorCanvasAgent.h: Renamed from Source/WebCore/inspector/InspectorWebGLAgent.h.
2323         (WebCore):
2324         (InspectorCanvasAgent):
2325         (WebCore::InspectorCanvasAgent::create):
2326         (WebCore::InspectorCanvasAgent::enabled):
2327         * inspector/InspectorCanvasInstrumentation.h: Renamed from Source/WebCore/inspector/InspectorWebGLInstrumentation.h.
2328         (WebCore):
2329         (WebCore::InspectorInstrumentation::wrapWebGLRenderingContextForInstrumentation):
2330         * inspector/InspectorController.cpp:
2331         (WebCore::InspectorController::InspectorController):
2332         * inspector/InstrumentingAgents.h:
2333         (WebCore):
2334         (WebCore::InstrumentingAgents::InstrumentingAgents):
2335         (WebCore::InstrumentingAgents::inspectorCanvasAgent):
2336         (WebCore::InstrumentingAgents::setInspectorCanvasAgent):
2337         (InstrumentingAgents):
2338         * inspector/compile-front-end.py:
2339         * inspector/front-end/CanvasProfileView.js: Renamed from Source/WebCore/inspector/front-end/WebGLProfileView.js.
2340         (WebInspector.CanvasProfileView):
2341         (WebInspector.CanvasProfileView.prototype.dispose):
2342         (WebInspector.CanvasProfileView.prototype.get statusBarItems):
2343         (WebInspector.CanvasProfileView.prototype.get profile):
2344         (WebInspector.CanvasProfileView.prototype.wasShown):
2345         (WebInspector.CanvasProfileView.prototype.willHide):
2346         (WebInspector.CanvasProfileView.prototype._showTraceLog):
2347         (WebInspector.CanvasProfileView.prototype._onTraceLogItemClick.didReplayTraceLog):
2348         (WebInspector.CanvasProfileView.prototype._onTraceLogItemClick):
2349         (WebInspector.CanvasProfileType):
2350         (WebInspector.CanvasProfileType.prototype.get buttonTooltip):
2351         (WebInspector.CanvasProfileType.prototype.buttonClicked.didStartCapturingFrame):
2352         (WebInspector.CanvasProfileType.prototype.buttonClicked):
2353         (WebInspector.CanvasProfileType.prototype.get treeItemTitle):
2354         (WebInspector.CanvasProfileType.prototype.get description):
2355         (WebInspector.CanvasProfileType.prototype.reset):
2356         (WebInspector.CanvasProfileType.prototype.createTemporaryProfile):
2357         (WebInspector.CanvasProfileType.prototype.createProfile):
2358         (WebInspector.CanvasProfileHeader):
2359         (WebInspector.CanvasProfileHeader.prototype.traceLogId):
2360         (WebInspector.CanvasProfileHeader.prototype.createSidebarTreeElement):
2361         (WebInspector.CanvasProfileHeader.prototype.createView):
2362         * inspector/front-end/ProfilesPanel.js:
2363         (WebInspector.ProfilesPanel):
2364         * inspector/front-end/Settings.js:
2365         (WebInspector.ExperimentsSettings):
2366         * inspector/front-end/WebKit.qrc:
2367         * inspector/front-end/canvasProfiler.css: Renamed from Source/WebCore/inspector/front-end/webGLProfiler.css.
2368         (.canvas-profile-view):
2369         (.canvas-trace-log):
2370         (.canvas-trace-log div):
2371         (#canvas-replay-image-container):
2372         (#canvas-replay-image):
2373
2374 2012-09-18  Kenichi Ishibashi  <bashi@chromium.org>
2375
2376         [Chromium] SkiaGetGlyphWidthAndExtents() should invert y-axis
2377         https://bugs.webkit.org/show_bug.cgi?id=97067
2378
2379         Reviewed by Yuta Kitamura.
2380
2381         Invert skBounds.fTop and skBounds.height(). Don't call hb_font_set_ppem().
2382
2383         No new tests. Arabic shadda (U+0651) should be placed more higher when Arabic lam (U+0644) follows it.
2384         Tests under svg/W3C-I18N contain such sequences so these tests cover this change.
2385
2386         * platform/graphics/harfbuzz/ng/HarfBuzzNGFaceSkia.cpp:
2387         (WebCore::SkiaGetGlyphWidthAndExtents):
2388         (WebCore::HarfBuzzNGFace::createFont):
2389
2390 2012-09-18  Kenichi Ishibashi  <bashi@chromium.org>
2391
2392         [Chromium] Don't treat tab as spaces for word-end in HarfBuzzShaper
2393         https://bugs.webkit.org/show_bug.cgi?id=97068
2394
2395         Reviewed by Yuta Kitamura.
2396
2397         No new tests. fast/text/wide-zero-width-space.html should cover this change.
2398
2399         * platform/graphics/harfbuzz/ng/HarfBuzzShaper.cpp:
2400         (WebCore::normalizeCharacters): Don't treat tab as space.
2401
2402 2012-09-18  Eric Carlson  <eric.carlson@apple.com>
2403
2404         Check settings before registering AVFoundation media engine.
2405         https://bugs.webkit.org/show_bug.cgi?id=97048
2406         <rdar://problem/12313594>
2407
2408         Reviewed by Dan Bernstein.
2409
2410         Fix the bug introduced in r122676.
2411
2412         * platform/graphics/MediaPlayer.cpp:
2413         (WebCore::installedMediaEngines): Uncomment the call to check AVFoundation settings.
2414
2415 2012-09-18  Sailesh Agrawal  <sail@chromium.org>
2416
2417         Chromium: Scrollbar with tickmarks doesn't respond to clicks
2418         https://bugs.webkit.org/show_bug.cgi?id=96049
2419
2420         Reviewed by Beth Dakin.
2421
2422         Currently when a scrollbar has tickmarks its forced to be visible by setting its alpha to 1.0. The alpha value is reset to its old value at the end of the drawing routine. This approach doesn't work with the hit testing code which relies on the scrollbar's alpha value
2423
2424         Unfortunately there doesn't seem to be anyway to force a scrollbar to be visible. The closest API is -[NSScrollerImpPair lockOverlayScrollerState:]. Unfortunately this locks both the horizontal and vertical scrollbar. It also doesn't expand the knob width.
2425
2426         My fix simply adds a new alphaLocked attribute to the scrollbar. If this attribute is set to true then hit testing will return true.
2427
2428         Test: fast/scrolling/scrollbar-tickmarks-hittest.html
2429
2430         * WebCore.exp.in:
2431         * WebCore.order:
2432         * page/Settings.cpp:
2433         (WebCore):
2434         (WebCore::Settings::setUsesOverlayScrollbars): Sets the usesOverlayScrollbars flag.
2435         (WebCore::Settings::usesOverlayScrollbars): Gets the usesOverlayScrollbars flag.
2436         * page/Settings.h:
2437         (Settings):
2438         * platform/Scrollbar.cpp:
2439         (WebCore::Scrollbar::Scrollbar):
2440         * platform/Scrollbar.h:
2441         (WebCore::Scrollbar::isAlphaLocked):
2442         (WebCore::Scrollbar::setIsAlphaLocked):
2443         (Scrollbar):
2444         * platform/ScrollbarThemeClient.h:
2445         (ScrollbarThemeClient):
2446         * platform/chromium/ScrollbarThemeChromiumMac.mm:
2447         (WebCore::ScrollbarThemeChromiumMac::paint): Updated to set and unset the alphaLocked attribute.
2448         * platform/chromium/support/WebScrollbarImpl.cpp:
2449         (WebKit::WebScrollbarImpl::isAlphaLocked):
2450         (WebKit):
2451         (WebKit::WebScrollbarImpl::setIsAlphaLocked):
2452         * platform/chromium/support/WebScrollbarImpl.h:
2453         (WebScrollbarImpl):
2454         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
2455         (WebCore::CCScrollbarLayerImpl::CCScrollbarLayerImpl):
2456         (WebCore::CCScrollbarLayerImpl::CCScrollbar::isAlphaLocked):
2457         (WebCore):
2458         (WebCore::CCScrollbarLayerImpl::CCScrollbar::setIsAlphaLocked):
2459         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
2460         (CCScrollbar):
2461         (CCScrollbarLayerImpl):
2462         * platform/mac/NSScrollerImpDetails.mm:
2463         (WebCore::recommendedScrollerStyle): Check the usesOverlayScrollbars setting to see if overlay scrollbars should be forced on.
2464         * platform/mac/ScrollAnimatorMac.mm:
2465         (WebCore::ScrollAnimatorMac::shouldScrollbarParticipateInHitTesting): Updated to check the alphaLocked attribute.
2466         * testing/InternalSettings.cpp:
2467         (WebCore::InternalSettings::reset): Resets the usesOverlayScrollbars setting.
2468         (WebCore::InternalSettings::setUsesOverlayScrollbars): Sets the usesOverlayScrollbars setting.
2469         (WebCore):
2470         * testing/InternalSettings.h:
2471         (InternalSettings):
2472         * testing/InternalSettings.idl: Add a new setUsesOverlayScrollbars function.
2473
2474 2012-09-18  Kentaro Hara  <haraken@chromium.org>
2475
2476         [V8] Notification.requestPermission(function() {alert();}) crashes
2477         https://bugs.webkit.org/show_bug.cgi?id=94462
2478
2479         Reviewed by Adam Barth.
2480
2481         Since Notification.requestPermission() is a static method,
2482         we need to use getExecutionContext() instead of retrieving a context
2483         from a DOM object.
2484
2485         Test: http/tests/notifications/notification-request-permission.html
2486
2487         * bindings/v8/custom/V8NotificationCustom.cpp:
2488         (WebCore::V8Notification::requestPermissionCallback):
2489
2490 2012-09-18  Shinya Kawanaka  <shinyak@chromium.org>
2491
2492         [Refactoring] ContentDistributor::distributeSelectionsTo should not change ContentDistribution pool.
2493         https://bugs.webkit.org/show_bug.cgi?id=96993
2494
2495         Reviewed by Dimitri Glazkov.
2496
2497         Since we would like to reuse ContentDistribution pool, it should not be updated in
2498         ContentDistributor::distributeSelectionsTo. Instead, we should have Vector<bool> to indicate an element is
2499         distributed or not.
2500
2501         No new tests, simple refactoring.
2502
2503         * html/shadow/ContentDistributor.cpp:
2504         (WebCore::ContentDistributor::distribute):
2505         (WebCore::ContentDistributor::distributeSelectionsTo):
2506         * html/shadow/ContentDistributor.h:
2507         (ContentDistributor):
2508
2509 2012-09-18  Byungwoo Lee  <bw80.lee@samsung.com>
2510
2511         Title string should be changed when document.title is set to ''.
2512         https://bugs.webkit.org/show_bug.cgi?id=96793
2513
2514         Reviewed by Kenneth Rohde Christiansen.
2515
2516         DocumentLoader::setTitle() function returns without anything (changing
2517         m_pageTitle and calling FrameLoaderClient::setTitle()) when new title
2518         string is empty.
2519         So, when document.title is set to '', title string of a browser cannot
2520         be changed.
2521         For applying the change of document.title properly, empty string check
2522         should be removed.
2523
2524         Test: fast/dom/title-text-property-assigning-empty-string.html
2525
2526         * loader/DocumentLoader.cpp:
2527         (WebCore::DocumentLoader::setTitle):
2528
2529 2012-09-18  Simon Fraser  <simon.fraser@apple.com>
2530
2531         fast/forms/search-event-delay.html is asserting in markAllMisspellingsAndBadGrammarInRanges()
2532         https://bugs.webkit.org/show_bug.cgi?id=82761
2533
2534         Reviewed by Ryosuke Niwa.
2535
2536         Speculative fix for this assertion: have InternalSettings save
2537         and restore the value of the "unifiedTextCheckerEnabled" setting
2538         between tests, so that tests change the value of this setting don't
2539         affect later tests.
2540
2541         * testing/InternalSettings.cpp:
2542         (WebCore::InternalSettings::Backup::Backup):
2543         (WebCore::InternalSettings::Backup::restoreTo):
2544         * testing/InternalSettings.h:
2545         (Backup):
2546
2547 2012-09-18  John Mellor  <johnme@chromium.org>
2548
2549         Text Autosizing: Ignore constrained heights in certain circumstances.
2550         https://bugs.webkit.org/show_bug.cgi?id=96848
2551
2552         Reviewed by Julien Chaffraix.
2553
2554         Ignore constrained heights on html and body elements, as some sites
2555         (e.g. wikipedia) set height:100% on these, without intending to
2556         constrain the height of descendants.
2557
2558         Also ignore constrained heights on ancestors of floats and out-of-flow
2559         positioned elements with no height set, since the height of these is
2560         determined independently from their ancestors.
2561
2562         Test: fast/text-autosizing/constrained-height-body.html
2563               fast/text-autosizing/constrained-out-of-flow.html
2564               fast/text-autosizing/constrained-then-float-ancestors.html
2565               fast/text-autosizing/constrained-then-position-absolute-ancestors.html
2566               fast/text-autosizing/constrained-then-position-fixed-ancestors.html
2567
2568         * rendering/TextAutosizer.cpp:
2569         (WebCore::contentHeightIsConstrained):
2570
2571             Adjusted constrainedness algorithm.
2572
2573 2012-09-18  Tommy Widenflycht  <tommyw@google.com>
2574
2575         MediaStream API: Create a flag to enable PeerConnection00
2576         https://bugs.webkit.org/show_bug.cgi?id=96989
2577
2578         Reviewed by Adam Barth.
2579
2580         Adding the functionality to separately enable/disable PeerConnection00.
2581         For now it is enabled by default.
2582
2583         Not testable, nor likely to cause issues.
2584
2585         * bindings/generic/RuntimeEnabledFeatures.cpp:
2586         (WebCore):
2587         * bindings/generic/RuntimeEnabledFeatures.h:
2588         (WebCore::RuntimeEnabledFeatures::deprecatedPeerConnectionEnabled):
2589         (WebCore::RuntimeEnabledFeatures::setDeprecatedPeerConnectionEnabled):
2590         (WebCore::RuntimeEnabledFeatures::webkitPeerConnection00Enabled):
2591         (RuntimeEnabledFeatures):
2592
2593 2012-09-18  Bo Liu  <boliu@chromium.org>
2594
2595         Revert 128780, 128676, 128645
2596         https://bugs.webkit.org/show_bug.cgi?id=97022
2597
2598         Reviewed by Adam Barth.
2599
2600         I made these revisions to add in-place reload behavior to ImagesEnabled setting.
2601         Reverting this for now due to them causing performance regression in
2602         chromium, possibly caused by increased calls to
2603         PermissionClient::imageAllowed.
2604
2605         * WebCore.exp.in:
2606         * loader/FrameLoader.cpp:
2607         (WebCore::FrameLoader::didBeginDocument):
2608         * loader/SubresourceLoader.cpp:
2609         (WebCore::SubresourceLoader::willSendRequest):
2610         * loader/cache/CachedImage.cpp:
2611         (WebCore::CachedImage::load):
2612         * loader/cache/CachedImage.h:
2613         (WebCore::CachedImage::stillNeedsLoad):
2614         * loader/cache/CachedResource.cpp:
2615         (WebCore::CachedResource::didAddClient):
2616         * loader/cache/CachedResource.h:
2617         * loader/cache/CachedResourceLoader.cpp:
2618         (WebCore::CachedResourceLoader::CachedResourceLoader):
2619         (WebCore::CachedResourceLoader::requestImage):
2620         (WebCore::CachedResourceLoader::canRequest):
2621         (WebCore::CachedResourceLoader::determineRevalidationPolicy):
2622         (WebCore::CachedResourceLoader::setAutoLoadImages):
2623         * loader/cache/CachedResourceLoader.h:
2624         (CachedResourceLoader):
2625         * page/Settings.cpp:
2626         (WebCore::setLoadsImagesAutomaticallyInAllFrames):
2627         (WebCore::Settings::Settings):
2628         (WebCore::Settings::setLoadsImagesAutomatically):
2629         (WebCore::Settings::loadsImagesAutomaticallyTimerFired):
2630         (WebCore::Settings::setImagesEnabled):
2631         * page/Settings.h:
2632         (Settings):
2633         * testing/InternalSettings.cpp:
2634         (WebCore::InternalSettings::Backup::Backup):
2635         (WebCore::InternalSettings::Backup::restoreTo):
2636         (WebCore::InternalSettings::setLangAttributeAwareFormControlUIEnabled):
2637         * testing/InternalSettings.h:
2638         (Backup):
2639         (InternalSettings):
2640         * testing/InternalSettings.idl:
2641
2642 2012-09-18  John J. Barton  <johnjbarton@chromium.org>
2643
2644         Web Inspector: Set focus on the ExtensionPanel's iframe when it is selected
2645         https://bugs.webkit.org/show_bug.cgi?id=96148
2646
2647         Reviewed by Vsevolod Vlasov.
2648
2649         ExtensionView ctor calls setDefaultFocusedElement with its iframe,
2650         ExtensionPanel ctor calls setDefaultFocusedElement with the extensionView
2651         and ExtensionPanel's setDefaultFocusedElement calls its grandparent impl
2652
2653         Tests: Added hasFocus test to extensions/extension-panel.html
2654
2655         * inspector/front-end/ExtensionPanel.js:
2656         (WebInspector.ExtensionPanel):
2657         (WebInspector.ExtensionPanel.prototype.defaultFocusedElement):
2658         * inspector/front-end/ExtensionView.js:
2659         (WebInspector.ExtensionView):
2660
2661 2012-09-18  Martin Robinson  <mrobinson@igalia.com>
2662
2663         [GTK] [WebKit2] Use XComposite window for accelerated compositing
2664         https://bugs.webkit.org/show_bug.cgi?id=94417
2665
2666         Reviewed by Carlos Garcia Campos.
2667
2668         Instead of rendering directly to the widget's native window, render to an
2669         offscreen window redirected to a Pixmap with XComposite.
2670
2671         No new tests. This will be covered by the existing accelerated compositing tests,
2672         which should now give correct pixel results.
2673
2674         * platform/gtk/RedirectedXCompositeWindow.cpp:
2675         (WebCore::RedirectedXCompositeWindow::resize): Add a call to XFlush which ensures
2676         that pending X11 operations complete.
2677         * platform/gtk/RedirectedXCompositeWindow.h:
2678         (WebCore::RedirectedXCompositeWindow::windowId): Added this accessor.
2679
2680 2012-09-18  Julien Chaffraix  <jchaffraix@webkit.org>
2681
2682         Tables without any descendant and auto logical width should have a 0px logical width
2683         https://bugs.webkit.org/show_bug.cgi?id=95521
2684
2685         Reviewed by Abhishek Arya.
2686
2687         The code would wrongly add the border-spacing in the row direction to the table's logical
2688         width even if we didn't have a column. The new behavior matches FireFox and Opera. IE
2689         matches our old behavior for inline tables but our new behavior for normal tables which
2690         is a bug on their side.
2691
2692         Tests: fast/table/empty-table-should-take-no-space.html
2693                fast/table/fixed-table-layout/empty-table-should-take-no-space-fixed-layout.html
2694
2695         * rendering/RenderTable.h:
2696         (WebCore::RenderTable::borderSpacingInRowDirection):
2697         Added this new helper function to return the right border-spacing. Added a FIXME as the code always
2698         return the horizontal dimension which is wrong in vertical-writing mode.
2699
2700         (WebCore::RenderTable::bordersPaddingAndSpacingInRowDirection):
2701         Changed to call borderSpacingInRowDirection. Added a comment as to why we don't add border-spacing on
2702         border-collapse: separate tables.
2703
2704 2012-09-18  Zan Dobersek  <zandobersek@gmail.com>
2705
2706         [GTK] Build is broken without option --enable-unstable-features
2707         https://bugs.webkit.org/show_bug.cgi?id=96996
2708
2709         Reviewed by Martin Robinson.
2710
2711         When searching for the bare feature define in feature_defines_unstable or
2712         feature_defines_overrides, search for the bare define followed by = character.
2713         This avoids incorrectly matching the ENABLE_VIDEO define to the ENABLE_VIDEO_TRACK
2714         overriding define (and works as well for other similarly named feature defines).
2715
2716         No new tests - no new functionality.
2717
2718         * GNUmakefile.am:
2719
2720 2012-09-18  Andrey Kosyakov  <caseq@chromium.org>
2721
2722         Web Inspector: [Extensions API] postpone requests to add extensions until extension server is initialized
2723         https://bugs.webkit.org/show_bug.cgi?id=97012
2724
2725         Reviewed by Vsevolod Vlasov.
2726
2727         - queue extensions being added unless initialization is complete;
2728         - add queued extensions upon completion of initialization;
2729
2730         * inspector/front-end/ExtensionServer.js:
2731         (WebInspector.ExtensionServer.prototype.initExtensions):
2732         (WebInspector.ExtensionServer.prototype._addExtensions):
2733         (WebInspector.ExtensionServer.prototype._addExtension):
2734         (WebInspector.ExtensionServer.prototype._innerAddExtension):
2735
2736 2012-09-18  Christophe Dumez  <christophe.dumez@intel.com>
2737
2738         [EFL] min-device-width failures in media tests
2739         https://bugs.webkit.org/show_bug.cgi?id=96920
2740
2741         Reviewed by Kenneth Rohde Christiansen.
2742
2743         Return a realistic value (800x600) for screen resolution if
2744         it cannot be detected, instead of returning (0x0).
2745
2746         This allows for some tests to pass on the build bots
2747         where X is not running.
2748
2749         No new tests, already covered by existing tests.
2750
2751         * platform/efl/PlatformScreenEfl.cpp:
2752         (WebCore::screenRect):
2753
2754 2012-09-18  Simon Hausmann  <simon.hausmann@digia.com>
2755
2756         Fix compilation with Qt 5 on MeeGo 1.2 Harmattan
2757         https://bugs.webkit.org/show_bug.cgi?id=96937
2758
2759         Reviewed by Jocelyn Turcotte.
2760
2761         The gl2ext.h header file on the platform is outdated. Instead use the newer copy from Qt
2762         through implicit inclusion of qopengl.h. Since Qt's declarations are based on newer Khronos
2763         headers, the multi sampling extensions do have the PROC suffix, we need the same workaround
2764         as QNX.
2765
2766         * platform/graphics/opengl/Extensions3DOpenGLES.h:
2767
2768 2012-09-14  Andrey Kosyakov  <caseq@chromium.org>
2769
2770         Web Inspector: [Extensions API] explicitly manage extension audit progress
2771         https://bugs.webkit.org/show_bug.cgi?id=96803
2772
2773         Reviewed by Alexander Pavlov.
2774
2775         - create a sub-progress per audit category;
2776         - manage audit category progress within the category, not in the panel logic;
2777         - consider audit is done when all categories are done;
2778         - expose AuditResults.updateProgress(worked, totalWork) in the extensions API;
2779         - retain old magic for computing audit progress if extension specifies extension results count.
2780
2781         * inspector/front-end/AuditsPanel.js:
2782         (WebInspector.AuditsPanel.prototype._executeAudit.ruleResultReadyCallback):
2783         (WebInspector.AuditsPanel.prototype._executeAudit):
2784         (WebInspector.AuditCategory.prototype.run.callbackWrapper):
2785         (WebInspector.AuditCategory.prototype.run):
2786         * inspector/front-end/ExtensionAPI.js:
2787         (defineCommonExtensionSymbols):
2788         (injectedExtensionAPI.Audits.prototype.addCategory):
2789         (injectedExtensionAPI.AuditResultImpl.prototype.updateProgress):
2790         * inspector/front-end/ExtensionAuditCategory.js:
2791         (WebInspector.ExtensionAuditCategory.prototype.run):
2792         (WebInspector.ExtensionAuditCategoryResults):
2793         (WebInspector.ExtensionAuditCategoryResults.prototype.done):
2794         (WebInspector.ExtensionAuditCategoryResults.prototype._addResult):
2795         (WebInspector.ExtensionAuditCategoryResults.prototype.updateProgress):
2796         * inspector/front-end/ExtensionServer.js:
2797         (WebInspector.ExtensionServer):
2798         (WebInspector.ExtensionServer.prototype._onUpdateAuditProgress):
2799         (WebInspector.ExtensionServer.prototype._onStopAuditCategoryRun):
2800         * inspector/front-end/ProgressBar.js:
2801         (WebInspector.ProgressIndicator.prototype.done): Assure only first call to done() has effect.
2802
2803 2012-09-19  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
2804
2805         Revert r127457 and following fixes due to several hit-testing regressions
2806         https://bugs.webkit.org/show_bug.cgi?id=96830
2807
2808         Reviewed by Antonio Gomes.
2809
2810         The revert misssed one related follow-up.
2811
2812         * dom/Document.cpp:
2813         (WebCore::Document::updateHoverActiveState):
2814
2815
2816 2012-09-18  Mihnea Ovidenie  <mihnea@adobe.com>
2817
2818         [CSSRegions]Flag auto-height regions
2819         https://bugs.webkit.org/show_bug.cgi?id=96267
2820
2821         Reviewed by Julien Chaffraix.
2822
2823         The regions having auto logical height should be flagged so that their height will computed as part of a 2 pass-layout mechanism.
2824         A valid region is flagged as having auto logical height if:
2825         - has auto logical height and is part of the normal flow
2826         - has auto logical height, is not part of normal flow and does not have logical top/bottom specified
2827
2828         An invalid region (part of circular dependency) will not be marked even if its style matches the above situations.
2829
2830         Test: fast/regions/autoheight-regions-mark.html
2831
2832         * rendering/FlowThreadController.cpp: Keep a counter of auto logical height valid regions.
2833         (WebCore::FlowThreadController::FlowThreadController):
2834         (WebCore::FlowThreadController::layoutRenderNamedFlowThreads): Verify that the current number of auto logical height regions is correct by iterating over all the regions attached to the flow threads
2835         and compute the number of auto logical height regions on the spot.
2836         (WebCore):
2837         (WebCore::FlowThreadController::isAutoLogicalHeightRegionsFlagConsistent): Helper function that is used to verify the number of auto logical height regions.
2838         * rendering/FlowThreadController.h:
2839         (WebCore::FlowThreadController::hasAutoLogicalHeightRegions):
2840         (WebCore::FlowThreadController::incrementAutoLogicalHeightRegions):
2841         (WebCore::FlowThreadController::decrementAutoLogicalHeightRegions):
2842         (FlowThreadController):
2843         * rendering/RenderFlowThread.cpp:
2844         (WebCore):
2845         (WebCore::RenderFlowThread::autoLogicalHeightRegionsCount): Helper function that is used to count the number of regions marked as having auto logical height.
2846         * rendering/RenderFlowThread.h:
2847         * rendering/RenderRegion.cpp:
2848         (WebCore::RenderRegion::RenderRegion):
2849         (WebCore::RenderRegion::updateRegionHasAutoLogicalHeightFlag):
2850         (WebCore):
2851         (WebCore::RenderRegion::styleDidChange): For a region that is attached to a flow thread, verify whether the style change modified its auto logical height appearance.
2852         (WebCore::RenderRegion::attachRegion): Handle the case of attaching region to a flow thread and the detach/attach sequence when the region is moved in the render tree.
2853         (WebCore::RenderRegion::detachRegion):
2854         * rendering/RenderRegion.h:
2855         (WebCore::RenderRegion::shouldHaveAutoLogicalHeight):
2856         (WebCore::RenderRegion::hasAutoLogicalHeight):
2857         (RenderRegion):
2858         * rendering/RenderTreeAsText.cpp: For the regions that use auto logical height, modify the output to reflect that.
2859         (WebCore::writeRenderNamedFlowThreads):
2860
2861 2012-09-18  Shinya Kawanaka  <shinyak@chromium.org>
2862
2863         Disable adding an AuthorShadowRoot to replaced elements.
2864         https://bugs.webkit.org/show_bug.cgi?id=96978
2865
2866         Reviewed by Hajime Morita.
2867
2868         We (people who implement Shadow DOM) have concluded that we don't support adding AuthorShadowRoot to
2869         replaced elements in the current spec, since it turned out that a lot of difficulties exist and it brings
2870         a lot of mess to our codebase.
2871
2872         For now, we just disable adding AuthorShadowRoot to these replaced elements.
2873
2874         Test: fast/dom/shadow/shadow-disable.html
2875
2876         * html/HTMLImageElement.h:
2877         * html/HTMLKeygenElement.h:
2878         * html/HTMLMeterElement.h:
2879         * html/HTMLProgressElement.h:
2880         * html/HTMLTextAreaElement.h:
2881
2882 2012-09-17  Csaba Osztrogonác  <ossy@webkit.org>
2883
2884         Unreviewed, rolling out r128826 and r128813.
2885
2886         * ForwardingHeaders/runtime/JSDestructibleObject.h: Removed.
2887         * bindings/js/JSDOMWrapper.h:
2888         (WebCore::JSDOMWrapper::JSDOMWrapper):
2889         * bindings/scripts/CodeGeneratorJS.pm:
2890         (GenerateHeader):
2891         * bridge/objc/objc_runtime.h:
2892         (ObjcFallbackObjectImp):
2893         * bridge/objc/objc_runtime.mm:
2894         (Bindings):
2895         (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
2896         * bridge/runtime_array.cpp:
2897         (JSC):
2898         (JSC::RuntimeArray::destroy):
2899         * bridge/runtime_array.h:
2900         (JSC::RuntimeArray::create):
2901         * bridge/runtime_object.cpp:
2902         (Bindings):
2903         (JSC::Bindings::RuntimeObject::RuntimeObject):
2904         * bridge/runtime_object.h:
2905         (RuntimeObject):
2906
2907 2012-09-17  Kent Tamura  <tkent@chromium.org>
2908
2909         Export RuntimeEnabledFeatures::isLangAttributeAwareFormControlUIEnabled correctly
2910         https://bugs.webkit.org/show_bug.cgi?id=96855
2911
2912         Reviewed by Hajime Morita.
2913
2914         * bindings/generic/RuntimeEnabledFeatures.h:
2915         (RuntimeEnabledFeatures): Add WEBCORE_TESTING.
2916         * testing/InternalSettings.cpp: Remove a workaround.
2917         (WebCore::InternalSettings::Backup::Backup):
2918         (WebCore::InternalSettings::Backup::restoreTo):
2919         (WebCore::InternalSettings::setLangAttributeAwareFormControlUIEnabled):
2920         * testing/InternalSettings.h: ditto.
2921
2922 2012-09-17  Vivek Galatage  <vivekgalatage@gmail.com>
2923
2924         [Gtk] Remove the unused variable warning in GamepadsGtk.cpp using ASSERT_UNUSED macro
2925         https://bugs.webkit.org/show_bug.cgi?id=96975
2926
2927         Reviewed by Kentaro Hara.
2928
2929         Replacing a simple ASSERT with ASSERT_UNUSED to avoid the warning.
2930
2931         No new tests as refactoring done.
2932
2933         * platform/gtk/GamepadsGtk.cpp:
2934         (WebCore::GamepadDeviceGtk::readCallback):
2935
2936 2012-09-17  Roger Fong  <roger_fong@apple.com>
2937
2938         [Win] Null check timing function received from CoreAnimation when calling CACFAnimationGetTimingFunction.
2939         https://bugs.webkit.org/show_bug.cgi?id=96972
2940
2941         Reviewed by Timothy Horton
2942
2943         When paused, some CSS animations cause CoreAnimation to pass back a null timing function when calling CACFAnimationGetTimingFunction.
2944         This patch fixes this simply by ensuring that if the output of this method is null, it does not get passed into CACFAnimationSetTimingFunction
2945         via the PlatformCAAnimation::copyTimingFunctionFrom method.
2946
2947         * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
2948         (PlatformCAAnimation::copyTimingFunctionFrom):
2949
2950 2012-09-17  David Barton  <dbarton@mathscribe.com>
2951
2952         Convert MathML to use flexboxes
2953         https://bugs.webkit.org/show_bug.cgi?id=96843
2954
2955         Reviewed by Eric Seidel.
2956
2957         Using the CSS Flexible Box Model simplifies MathML in many ways. Control over alignment, row vs.
2958         column layout, and child layout order are all much easier. Complexities involving floats,
2959         continuations, and most anonymous boxes are eliminated, as are their potential for crashes and
2960         security vulnerabilities.
2961
2962         In a flexbox, column alignment is done with align-items or align-self, instead of text-align.
2963         vertical-align and baselinePosition() are replaced by the firstLineBoxBaseline() virtual
2964         function.
2965
2966         Tested by existing tests.
2967
2968         * css/mathml.css:
2969         (math):
2970         (math[display="block"]):
2971         (mo, mrow, mfenced, mfrac, msub, msup, msubsup, munder, mover, munderover, msqrt, mroot):
2972         (math, mrow, mfenced, msqrt, mroot):
2973         (msqrt > *):
2974         (mo, mfrac, munder, mover, munderover):
2975         (munder, mover, munderover):
2976         (mfrac > *):
2977         (mfrac[numalign="left"] > :first-child):
2978         (mfrac[numalign="right"] > :first-child):
2979         (mfrac[denomalign="left"] > :last-child):
2980         (mfrac[denomalign="right"] > :last-child):
2981         (msubsup > :last-child, mover > :last-child, munderover > :last-child):
2982         (msub > * + *, msup > * + *, msubsup > * + *, munder > * + *, mover > * + *, munderover > * + *):
2983         (mroot):
2984         (mroot > * + *):
2985         (mtable):
2986         
2987         * mathml/MathMLInlineContainerElement.cpp:
2988         (WebCore::MathMLInlineContainerElement::createRenderer):
2989         * mathml/mathtags.in:
2990         
2991         * rendering/mathml/RenderMathMLBlock.cpp:
2992         (WebCore::RenderMathMLBlock::RenderMathMLBlock):
2993         (WebCore::RenderMathMLBlock::computePreferredLogicalWidths):
2994         (WebCore::RenderMathMLBlock::baselinePosition):
2995         (WebCore::RenderMathMLBlock::renderName):
2996         (WebCore::RenderMathMLBlock::paint):
2997         (WebCore::RenderMathMLTable::firstLineBoxBaseline):
2998         * rendering/mathml/RenderMathMLBlock.h:
2999         (RenderMathMLBlock):
3000         (RenderMathMLTable):
3001         (WebCore::RenderMathMLTable::RenderMathMLTable):
3002             - Change RenderMathMLBlock's base class to RenderFlexibleBox, and its display to FLEX or INLINE_FLEX.
3003             - Add RenderMathMLTable for its firstLineBoxBaseline() function, like { vertical-align: middle }.
3004         
3005         * rendering/mathml/RenderMathMLFenced.cpp:
3006         (WebCore::RenderMathMLFenced::createMathMLOperator):
3007         (WebCore::RenderMathMLFenced::makeFences):
3008             - Use RenderMathMLRow::addChild as a more robust name for RenderBlock::addChild.
3009         (WebCore::RenderMathMLFenced::addChild):
3010             - All inline children of a flexbox are treated as blocks automatically.
3011         
3012         * rendering/mathml/RenderMathMLFraction.cpp:
3013         (WebCore::RenderMathMLFraction::fixChildStyle):
3014         (WebCore::RenderMathMLFraction::updateFromElement):
3015             - numalign and denomalign attributes are now handled by mathml.css.
3016         (WebCore::RenderMathMLFraction::addChild):
3017         (WebCore::RenderMathMLFraction::layout):
3018         (WebCore::RenderMathMLFraction::firstLineBoxBaseline):
3019         * rendering/mathml/RenderMathMLFraction.h:
3020         (RenderMathMLFraction):
3021         
3022         * rendering/mathml/RenderMathMLOperator.cpp:
3023         (WebCore::RenderMathMLOperator::updateFromElement):
3024         (WebCore::RenderMathMLOperator::createStackableStyle):
3025         (WebCore::RenderMathMLOperator::firstLineBoxBaseline):
3026         * rendering/mathml/RenderMathMLOperator.h:
3027         * rendering/mathml/RenderMathMLRow.cpp:
3028         (WebCore::RenderMathMLRow::createAnonymousWithParentRenderer):
3029         
3030         * rendering/mathml/RenderMathMLSubSup.cpp:
3031         (WebCore::RenderMathMLSubSup::RenderMathMLSubSup):
3032         (WebCore::RenderMathMLSubSup::fixScriptsStyle):
3033         (WebCore::RenderMathMLSubSup::addChild):
3034         (WebCore::RenderMathMLSubSup::styleDidChange):
3035         (WebCore::RenderMathMLSubSup::layout):
3036         * rendering/mathml/RenderMathMLSubSup.h:
3037             - Rename Sup to Super, to make it more readable vs. Sub.
3038             - Instead of vertical-align, msub and msup now use the m_scripts anonymous box like msubsup does.
3039             - Individual anonymous block wrappers are no longer needed around the superscript and subscript to
3040               lay them out in a column.
3041             - Handle msub and msup layout, and improve msubsup layout, by requiring a superscript's baseline
3042               to be at least (int) fontSize / 3 + 1 above the main baseline, and a subscript's baseline to be
3043               at least (int) fontSize / 5 + 1 below it.
3044         
3045         * rendering/mathml/RenderMathMLUnderOver.cpp:
3046         (WebCore::RenderMathMLUnderOver::unembellishedOperator):
3047         (WebCore::RenderMathMLUnderOver::firstLineBoxBaseline):
3048         * rendering/mathml/RenderMathMLUnderOver.h:
3049         (RenderMathMLUnderOver):
3050             - RenderMathMLUnderOver no longer needs to use anonymous wrappers for column layout. Centering and
3051               child layout order (overscript first) are also handled by mathml.css.
3052
3053 2012-09-17  Ryuan Choi  <ryuan.choi@samsung.com>
3054
3055         [EFL] Several key codes are not mapped with evas key name.
3056         https://bugs.webkit.org/show_bug.cgi?id=96915
3057
3058         Reviewed by Gyuyoung Kim.
3059
3060         * platform/efl/EflKeyboardUtilities.cpp:
3061         (WebCore::createWindowsKeyMap):
3062         Added missing items of hashmap for virtual key code.
3063
3064 2012-09-17  Filip Pizlo  <fpizlo@apple.com>
3065
3066         Unreviewed, fix build.
3067
3068         * css/CSSRule.cpp:
3069         (SameSizeAsCSSRule):
3070
3071 2012-09-16  Mark Hahnenberg  <mhahnenberg@apple.com>
3072
3073         Delayed structure sweep can leak structures without bound
3074         https://bugs.webkit.org/show_bug.cgi?id=96546
3075
3076         Reviewed by Gavin Barraclough.
3077
3078         This patch gets rid of the separate Structure allocator in the MarkedSpace and adds two new destructor-only
3079         allocators. We now have separate allocators for our three types of objects: those objects with no destructors,
3080         those objects with destructors and with immortal structures, and those objects with destructors that don't have 
3081         immortal structures. All of the objects of the third type (destructors without immortal structures) now 
3082         inherit from a new class named JSDestructibleObject (which in turn is a subclass of JSNonFinalObject), which stores 
3083         the ClassInfo for these classes at a fixed offset for safe retrieval during sweeping/destruction.
3084
3085         No new tests.
3086
3087         * ForwardingHeaders/runtime/JSDestructableObject.h: Added.
3088         * bindings/js/JSDOMWrapper.h: Inherits from JSDestructibleObject.
3089         (JSDOMWrapper):
3090         (WebCore::JSDOMWrapper::JSDOMWrapper):
3091         * bindings/scripts/CodeGeneratorJS.pm: Add finalizers to anything that inherits from JSGlobalObject,
3092         e.g. JSDOMWindow and JSWorkerContexts. For those classes we also need to use the NEEDS_DESTRUCTOR macro.
3093         (GenerateHeader):
3094         * bridge/objc/objc_runtime.h: Inherit from JSDestructibleObject.
3095         (ObjcFallbackObjectImp):
3096         * bridge/objc/objc_runtime.mm:
3097         (Bindings):
3098         (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
3099         * bridge/runtime_array.cpp: Use a finalizer so that JSArray isn't forced to inherit from JSDestructibleObject.
3100         (JSC):
3101         (JSC::RuntimeArray::destroy):
3102         * bridge/runtime_array.h:
3103         (JSC::RuntimeArray::create):
3104         (JSC):
3105         * bridge/runtime_object.cpp: Inherit from JSDestructibleObject.
3106         (Bindings):
3107         (JSC::Bindings::RuntimeObject::RuntimeObject):
3108         * bridge/runtime_object.h:
3109         (RuntimeObject):
3110
3111 2012-09-17  Sheriff Bot  <webkit.review.bot@gmail.com>
3112
3113         Unreviewed, rolling out r128809.
3114         http://trac.webkit.org/changeset/128809
3115         https://bugs.webkit.org/show_bug.cgi?id=96958
3116
3117         Broke the Windows build. (Requested by andersca on #webkit).
3118
3119         * platform/win/BString.cpp:
3120         (WebCore::BString::~BString):
3121         (WebCore::BString::adoptBSTR):
3122         * platform/win/BString.h:
3123         (BString):
3124
3125 2012-09-17  Patrick Gansterer  <paroga@webkit.org>
3126
3127         [WIN] Use BString in favour of BSTR to improve memory management
3128         https://bugs.webkit.org/show_bug.cgi?id=93128
3129
3130         Reviewed by Anders Carlsson.
3131
3132         BString automatically calls SysFreeString() in its destructor which helps
3133         avoiding memory leaks. So it should be used instead of BSTR directly.
3134         Add operator& to BString to allow its usage for out parameters too (like COMPtr).
3135         This fixes already a few memory leaks in the existing code.
3136
3137         * platform/win/BString.cpp:
3138         (WebCore::BString::~BString):
3139         (WebCore::BString::adoptBSTR):
3140         (WebCore::BString::clear):
3141         (WebCore):
3142         * platform/win/BString.h:
3143         (BString):
3144         (WebCore::BString::operator&):
3145
3146 2012-09-17  Tony Chang  <tony@chromium.org>
3147
3148         Make CSS.PrefixUsage histogram smaller to save memory
3149         https://bugs.webkit.org/show_bug.cgi?id=96941
3150
3151         Reviewed by Ojan Vafai.
3152
3153         Each bucket costs about 12 bytes. This reduces the size of the histogram
3154         from 600 to 384, which will save about 2.5k per renderer and browser
3155         process.
3156
3157         In the long run, we could probably generate a table in makeprop.pl that
3158         only has the webkit prefix values to save even more memory (there are
3159         194 properties that start with -webkit).
3160
3161         No new tests, just refactoring.
3162
3163         * css/CSSParser.cpp:
3164         (WebCore::cssPropertyID):
3165
3166 2012-09-17  Rob Buis  <rbuis@rim.com>
3167
3168         [BlackBerry] Enable VIDEO_TRACK
3169         https://bugs.webkit.org/show_bug.cgi?id=96949
3170
3171         Reviewed by Antonio Gomes.
3172
3173         Turn on runtime feature for VIDEO_TRACK.
3174
3175         * bindings/generic/RuntimeEnabledFeatures.cpp:
3176         (WebCore):
3177
3178 2012-09-17  Adam Barth  <abarth@webkit.org>
3179
3180         Measure the usage of window.webkitIndexedDB so we can measure the transition to webkit.indexedDB
3181         https://bugs.webkit.org/show_bug.cgi?id=96943
3182
3183         Reviewed by Ojan Vafai.
3184
3185         We don't yet support window.indexedDB but we will once
3186         https://bugs.webkit.org/show_bug.cgi?id=96548 lands. This metric will
3187         help us measure the transition from the prefixed to the unprefixed API.
3188
3189         * Modules/indexeddb/DOMWindowIndexedDatabase.idl:
3190         * page/FeatureObserver.h:
3191
3192 2012-09-17  Adam Barth  <abarth@webkit.org>
3193
3194         Measure usage of the legacy WebKitBlobBuilder API in the hopes of being able to remove it
3195         https://bugs.webkit.org/show_bug.cgi?id=96939
3196
3197         Reviewed by Ojan Vafai.
3198
3199         In the course of standardization, the BlobBuilder API was removed in
3200         favor of just using the Blob constructor. This patch adds some
3201         measurement to see how often this legacy API is used. If the API is not
3202         used very much, we might be able to remove it.
3203
3204         * fileapi/WebKitBlobBuilder.cpp:
3205         (WebCore::WebKitBlobBuilder::create):
3206         * page/FeatureObserver.h:
3207
3208 2012-09-17  Joshua Bell  <jsbell@chromium.org>
3209
3210         IndexedDB: Result of IDBFactory.deleteDatabase() should be undefined, not null
3211         https://bugs.webkit.org/show_bug.cgi?id=96538
3212
3213         Reviewed by Tony Chang.
3214
3215         Trivial implementation change to match the spec.
3216
3217         Tests: storage/indexeddb/factory-deletedatabase-expected.html
3218                storage/indexeddb/intversion-long-queue-expected.html
3219
3220         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
3221         (WebCore::IDBDatabaseBackendImpl::deleteDatabase):
3222
3223 2012-09-17  Rick Byers  <rbyers@chromium.org>
3224
3225         Allow gesture events to set active/hover state.
3226         https://bugs.webkit.org/show_bug.cgi?id=96060
3227
3228         Reviewed by Antonio Gomes.
3229
3230         Adds GestureTapDownCancel as a new PlatformGestureEvent type.  On ports
3231         that support gesture events, use GestureTapDown to trigger active/hover
3232         states, and GestureTap/GestureTapDownCancel to clear them.  This is
3233         superior to using touch events for a number of reasons:
3234           1) some ports (chromium) avoid sending touch events unless absolutely
3235           necessary, since they hurt scroll performance by blocking threaded
3236           scrolling.
3237           2) with touch, and element really shouldn't be 'active' when the user
3238           happens to be touching it while scrolling.  In that case they aren't
3239           'manipulating the element', they're manipulating the page or div that
3240           is scrolling.
3241           3) similarly, there may be other gestures that involve touching the
3242           element which aren't really about manipulating that element (eg.
3243           pinch to zoom).
3244
3245         Test: fast/events/touch/gesture/gesture-tap-active-state.html
3246         Test: fast/events/touch/gesture/gesture-tap-active-state-iframe.html
3247         * dom/GestureEvent.cpp:
3248         (WebCore::GestureEvent::create):
3249         * page/EventHandler.cpp:
3250         (WebCore::EventHandler::handleGestureEvent):
3251         (WebCore::EventHandler::handleTouchEvent):
3252         * platform/PlatformEvent.h:
3253
3254 2012-09-17  Alec Flett  <alecflett@chromium.org>
3255
3256         IndexedDB: Use ScriptValue instead of SerializedScriptValue for get/openCursor
3257         https://bugs.webkit.org/show_bug.cgi?id=95409
3258
3259         Reviewed by Kentaro Hara.
3260
3261         This reduces a bunch of serialization/deserialization when writing
3262         to objectstores with indexes.
3263
3264         No new tests, as this covers core functionality of IndexedDB, and
3265         almost every test would fail. Some likely tests that would fail
3266         fundamentally include:
3267
3268         storage/indexeddb/objectstore-basics.html
3269         storage/indexeddb/cursor-basics.html
3270         storage/indexeddb/index-basics.html
3271
3272         * Modules/indexeddb/IDBAny.cpp:
3273         (WebCore::IDBAny::scriptValue):
3274         (WebCore::IDBAny::integer):
3275         (WebCore):
3276         (WebCore::IDBAny::set):
3277         * Modules/indexeddb/IDBAny.h:
3278         (WebCore):
3279         (IDBAny):
3280         (WebCore::IDBAny::create):
3281         * Modules/indexeddb/IDBCursor.cpp:
3282         (WebCore::IDBCursor::setValueReady):
3283         * Modules/indexeddb/IDBCursor.h:
3284         (WebCore):
3285         (IDBCursor):
3286         * Modules/indexeddb/IDBDatabase.cpp:
3287         (WebCore::IDBDatabase::version):
3288         * Modules/indexeddb/IDBObjectStore.cpp:
3289         (WebCore):
3290         * Modules/indexeddb/IDBRequest.cpp:
3291         (WebCore::IDBRequest::setResultCursor):
3292         (WebCore::IDBRequest::onSuccess):
3293         (WebCore):
3294         (WebCore::IDBRequest::onSuccessInternal):
3295         (WebCore::IDBRequest::dispatchEvent):
3296         * Modules/indexeddb/IDBRequest.h:
3297         (IDBRequest):
3298         * Modules/indexeddb/IDBTransactionCallbacks.h:
3299         * bindings/v8/IDBBindingUtilities.cpp:
3300         (WebCore::deserializeIDBValue):
3301         (WebCore::injectIDBKeyIntoScriptValue):
3302         * bindings/v8/IDBBindingUtilities.h:
3303         (WebCore):
3304         * bindings/v8/custom/V8IDBAnyCustom.cpp:
3305         (WebCore::toV8):
3306
3307 2012-09-17  Adam Barth  <abarth@webkit.org>
3308
3309         We should make collecting metrics easier by adding an IDL attribute
3310         https://bugs.webkit.org/show_bug.cgi?id=96837
3311
3312         Reviewed by Kentaro Hara.
3313
3314         Currently it is too hard to set up a good measurement experiment to see
3315         whether we can safely remove a feature (including vendor-prefixed
3316         features). This patch introduces the [V8MeasureAs] IDL attribute to make
3317         that process easier.
3318
3319         When you add the [V8MeasureAs] IDL property to an API, we'll count what
3320         fraction of Page objects used that API.
3321
3322         * Modules/notifications/DOMWindowNotifications.idl:
3323         * bindings/scripts/CodeGeneratorV8.pm:
3324         (GenerateFeatureObservation):
3325         (GenerateNormalAttrGetter):
3326         (GenerateReplaceableAttrSetter):
3327         (GenerateNormalAttrSetter):
3328         (GenerateOverloadedFunctionCallback):
3329         (GenerateFunctionCallback):
3330         (GenerateConstructorCallback):
3331         (GenerateNamedConstructorCallback):
3332         * bindings/scripts/IDLAttributes.txt:
3333         * bindings/scripts/test/TestObj.idl:
3334         * bindings/scripts/test/V8/V8TestObj.cpp:
3335         (WebCore::TestObjV8Internal::testObjAttrAttrGetter):
3336         (WebCore::TestObjV8Internal::testObjAttrAttrSetter):
3337         (WebCore::TestObjV8Internal::objMethodCallback):
3338         (WebCore):
3339         * page/Page.h:
3340         (WebCore::Page::featureObserver):
3341         (Page):
3342
3343 2012-09-17  Bear Travis  <betravis@adobe.com>
3344
3345         [CSS Exclusions] Enable shape-inside for percentage lengths based on logical height
3346         https://bugs.webkit.org/show_bug.cgi?id=93547
3347
3348         Reviewed by Levi Weintraub.
3349
3350         Shape-inside needs to be passed the logical size to use when computing percentage
3351         based coordinates. The CSS Regions-specific method computeInitialRegionRangeForBlock
3352         has been generalized to updateRegionsAndExclusionsLogicalSize. This method takes
3353         the pre-child-layout logical width and height, and uses them to compute the logical
3354         width and height that regions and exclusions should use for layout. Regions use a
3355         block's maximum possible logical height to compute a region's maximum extent.
3356         Exclusions use a block's fixed logical width and height, or 0 if one does not exist,
3357         to resolve percentage-based shape lengths. The default logical size used for resolving
3358         percentage based coordinates is tested in shape-inside-percentage-auto.html.
3359
3360         Test: fast/exclusions/shape-inside/shape-inside-percentage.html
3361
3362         * rendering/RenderBlock.cpp:
3363         (WebCore::RenderBlock::updateRegionsAndExclusionsLogicalSize): Calculates the logical
3364         height regions and exclusions should use, and updates their layout sizes through
3365         computeExclusionShapeSize and computeRegionRangeForBlock.
3366         (WebCore):
3367         (WebCore::RenderBlock::computeExclusionShapeSize): Pass the appropriate logical size
3368         to exclusion shapes so they can resolve percentage based coordinates.
3369         (WebCore::RenderBlock::layoutBlock): Call the new updateRegionsAndExclusionsLogicalSize
3370         method.
3371         * rendering/RenderBlock.h:
3372         (RenderBlock):
3373         * rendering/RenderBox.cpp:
3374         (WebCore::percentageLogicalHeightIsResolvable): Determine if percentage lengths
3375         based on logical height can be resolved.
3376         (WebCore):
3377         (WebCore::RenderBox::percentageLogicalHeightIsResolvableFromBlock): Added declaration.
3378         * rendering/RenderBox.h:
3379         (RenderBox):
3380         * rendering/RenderDeprecatedFlexibleBox.cpp:
3381         (WebCore::RenderDeprecatedFlexibleBox::layoutBlock): Calling
3382         updateRegionsAndExclusionsLogicalSize rather than computeInitialRegionRangeForBlock.
3383         * rendering/RenderFlexibleBox.cpp:
3384         (WebCore::RenderFlexibleBox::layoutBlock): Ditto.
3385         * rendering/RenderGrid.cpp:
3386         (WebCore::RenderGrid::layoutBlock): Ditto.
3387
3388 2012-09-17  Vangelis Kokkevis  <vangelis@chromium.org>
3389
3390         [chromium] Add gpu_test trace events tracking the creation of a DrawingBuffer
3391         and Canvas2DLayerBridge. They will be used by browser tests to verify the
3392         existence of WebGL and accelerated canvas.
3393         https://bugs.webkit.org/show_bug.cgi?id=96871
3394
3395         Reviewed by James Robinson.
3396
3397         * platform/graphics/chromium/Canvas2DLayerBridge.cpp:
3398         (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
3399         * platform/graphics/chromium/DrawingBufferChromium.cpp:
3400         (WebCore::DrawingBuffer::DrawingBuffer):
3401
3402 2012-09-17  Bo Liu  <boliu@chromium.org>
3403
3404         Fix LoadImagesAutomatically cache behavior
3405         https://bugs.webkit.org/show_bug.cgi?id=96829
3406
3407         Reviewed by Adam Barth.
3408
3409         I broke the caching behavior of LoadImagesAutomatically in
3410         http://trac.webkit.org/changeset/128645
3411
3412         This restores the original behavior that AutoLoadImage does not block
3413         loads from memory cache.
3414
3415         Test: fast/loader/display-image-unset-allows-cached-image-load.html