Reorder Qt WebCore includes
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-09-26  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2
3         Reorder Qt WebCore includes
4         https://bugs.webkit.org/show_bug.cgi?id=97678
5
6         Reviewed by Noam Rosenthal.
7
8         * bridge/qt/qt_instance.cpp:
9         * bridge/qt/qt_instance.h:
10         * bridge/qt/qt_pixmapruntime.cpp:
11         * bridge/qt/qt_runtime.cpp:
12         * platform/graphics/qt/FontCacheQt.cpp:
13         * platform/graphics/qt/FontCustomPlatformData.h:
14         * platform/graphics/qt/ImageDecoderQt.cpp:
15         * platform/graphics/qt/ImageDecoderQt.h:
16         * platform/graphics/qt/PathQt.cpp:
17         * platform/graphics/qt/TransformationMatrixQt.cpp:
18         * platform/graphics/surfaces/qt/GraphicsSurfaceGLX.cpp:
19         * platform/network/qt/DnsPrefetchHelper.h:
20         * platform/network/qt/QNetworkReplyHandler.cpp:
21         * platform/network/qt/ResourceHandleQt.cpp:
22         * platform/qt/ClipboardQt.cpp:
23         * platform/qt/GamepadsQt.cpp:
24         * platform/qt/PasteboardQt.cpp:
25         * platform/qt/PlatformScreenQt.cpp:
26         * platform/qt/RenderThemeQt.cpp:
27         * platform/text/qt/TextBoundariesQt.cpp:
28         * plugins/qt/PluginPackageQt.cpp:
29         * plugins/qt/PluginViewQt.cpp:
30
31 2012-09-26  Christophe Dumez  <christophe.dumez@intel.com>
32
33         [EFL] mediaControlsEflFullscreen.css overrides regular media controls styling
34         https://bugs.webkit.org/show_bug.cgi?id=97671
35
36         Reviewed by Kenneth Rohde Christiansen.
37
38         Add missing ":-webkit-full-screen" in mediaControlsEflFullscreen.css so
39         that regular media controls styling is not overridden by full screen
40         styling when switching to full screen mode. This was causing a lot of
41         flakiness in our media tests.
42
43         No new tests, already covered by existing media tests.
44
45         * css/mediaControlsEflFullscreen.css:
46         (video:-webkit-full-screen::-webkit-media-controls-panel):
47         (video:-webkit-full-screen:-webkit-full-page-media::-webkit-media-controls-panel):
48         (video:-webkit-full-screen::-webkit-media-controls-mute-button):
49         (video:-webkit-full-screen::-webkit-media-controls-play-button):
50         (video:-webkit-full-screen::-webkit-media-controls-timeline-container):
51         (video:-webkit-full-screen::-webkit-media-controls-current-time-display):
52         (video:-webkit-full-screen::-webkit-media-controls-time-remaining-display):
53         (video:-webkit-full-screen::-webkit-media-controls-timeline):
54         (video:-webkit-full-screen::-webkit-media-controls-volume-slider-container):
55         (video:-webkit-full-screen::-webkit-media-controls-volume-slider):
56         (video:-webkit-full-screen::-webkit-media-controls-seek-back-button):
57         (video:-webkit-full-screen::-webkit-media-controls-seek-forward-button):
58         (video:-webkit-full-screen::-webkit-media-controls-fullscreen-button):
59         (video:-webkit-full-screen::-webkit-media-controls-rewind-button):
60         (video:-webkit-full-screen::-webkit-media-controls-return-to-realtime-button):
61         (video:-webkit-full-screen::-webkit-media-controls-toggle-closed-captions-button):
62
63 2012-09-26  Andrey Kosyakov  <caseq@chromium.org>
64
65         Web Inspector: display stack of last layout invalidation instead of first one
66         https://bugs.webkit.org/show_bug.cgi?id=97677
67
68         Reviewed by Vsevolod Vlasov.
69
70         - add a call to InspectorInstrumentation::didInvalidateLayout() when upgrading relayout root;
71         - do not suppress timeline's Invalidate Layout records other than first.
72
73         * inspector/InspectorTimelineAgent.cpp:
74         (WebCore::InspectorTimelineAgent::didInvalidateLayout):
75         * page/FrameView.cpp:
76         (WebCore::FrameView::scheduleRelayoutOfSubtree):
77
78 2012-09-25  Antti Koivisto  <antti@apple.com>
79
80         Optimize stylesheet insertions
81         https://bugs.webkit.org/show_bug.cgi?id=97627
82
83         Reviewed by Andreas Kling.
84
85         We currently do scope analysis for stylesheets that are added to the end of the active stylesheet list to avoid unnecessary style
86         recalcs and StyleResolver rebuilding. However it is somewhat common to insert <style> elements dynamically to positions other than last.
87         In this case we currently simply force full style recalc. We should do scope analysis and partial style recalcs also in these cases.
88         
89         PerformanceTests/CSS/StyleSheetInsert.html microbenchmark shows ~20x progression from the patch.
90
91         * css/StyleResolver.cpp:
92         (WebCore::StyleResolver::StyleResolver):
93         (WebCore::StyleResolver::resetAuthorStyle):
94         
95             Add a way to reset author RuleSet without deleting the whole StyleResolver.
96
97         (WebCore):
98         * css/StyleResolver.h:
99         (StyleResolver):
100         * dom/DocumentStyleSheetCollection.cpp:
101         (WebCore::DocumentStyleSheetCollection::analyzeStyleSheetChange):
102         
103             Check if there have been insertions to the stylesheet list. If so we need to reset
104             the StyleResolver (to handle rule position changes) but don't need to force full
105             style recalc. Do scope analysis for inserted stylesheets as well.
106
107         (WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets):
108         * dom/DocumentStyleSheetCollection.h:
109
110 2012-09-26  Allan Sandfeld Jensen  <allan.jensen@digia.com>
111
112         Gesture tap highlighting entire first line
113         https://bugs.webkit.org/show_bug.cgi?id=97668
114
115         Reviewed by Kenneth Rohde Christiansen.
116
117         Keep better track if which part is the first, middle or last, and adjust the X-edges accordingly.
118
119         * page/GestureTapHighlighter.cpp:
120
121 2012-09-26  Vsevolod Vlasov  <vsevik@chromium.org>
122
123         Web Inspector: DefaultTextEditor throws exception sometimes.
124         https://bugs.webkit.org/show_bug.cgi?id=97681
125
126         Reviewed by Alexander Pavlov.
127
128         Added a check that line number does not exceed text model line count.
129
130         * inspector/front-end/DefaultTextEditor.js:
131         (WebInspector.TextEditorMainPanel.prototype._positionToSelection):
132
133 2012-09-26  Kenneth Rohde Christiansen  <kenneth@webkit.org>
134
135         [TextureMapper] Remove unused method
136         https://bugs.webkit.org/show_bug.cgi?id=97675
137
138         Reviewed by Simon Hausmann.
139
140         * platform/graphics/texmap/TextureMapperGL.h: Remove uidForImage()
141
142 2012-09-25  Ilya Tikhonovsky  <loislo@chromium.org>
143
144         Web Inspector: extract HashSet instrumentation from core NMI code and put it into MemoryInstrumentationHashSet.h
145         https://bugs.webkit.org/show_bug.cgi?id=97198
146
147         Reviewed by Yury Semikhatsky.
148
149         Current implementation has overloads for HashSet.
150         This prevents us from instrumenting complex cases like Vector<HashSet<...> >.
151
152         * css/CSSCursorImageValue.cpp:
153         (WebCore::CSSCursorImageValue::reportDescendantMemoryUsage):
154         * css/StyleResolver.cpp:
155         (WebCore::StyleResolver::Features::reportMemoryUsage):
156         (WebCore::StyleResolver::collectMatchingRulesForList):
157         * dom/Document.cpp:
158         (WebCore::Document::reportMemoryUsage):
159         * dom/DocumentEventQueue.cpp:
160         (WebCore::DocumentEventQueue::reportMemoryUsage):
161         * loader/DocumentLoader.cpp:
162         (WebCore::DocumentLoader::reportMemoryUsage):
163         * loader/FrameLoader.cpp:
164         (WebCore::FrameLoader::reportMemoryUsage):
165         * loader/cache/CachedResource.cpp:
166         (WebCore::CachedResource::reportMemoryUsage):
167         * loader/cache/CachedResourceLoader.cpp:
168         (WebCore::CachedResourceLoader::reportMemoryUsage):
169
170 2012-09-26  Dominik Röttsches  <dominik.rottsches@intel.com>
171
172         [soup] Obey setTimeoutInterval in soup backend
173         https://bugs.webkit.org/show_bug.cgi?id=94796
174
175         Reviewed by Gustavo Noronha Silva.
176
177         Implementing ResourceHandle's setTimeoutInterval support for the soup backend.
178         This is preparatory work for bug 74802, timeout support for XHR2. The patch
179         has been successfully tested in combination with my work-in-progress
180         for that bug.
181
182         No new tests yet, tests will be added with the patch in bug 74802.
183
184         * platform/network/ResourceHandleInternal.h:
185         (WebCore::ResourceHandleInternal::ResourceHandleInternal): Adding a timeout source.
186         (ResourceHandleInternal):
187         * platform/network/soup/ResourceHandleSoup.cpp:
188         (WebCore):
189         (WebCore::cleanupSoupRequestOperation): Resetting the timer.
190         (WebCore::sendRequestCallback): Stopping the timer.
191         (WebCore::startHTTPRequest): Starting a timeout timer before the async request.
192         (WebCore::ResourceHandle::platformSetDefersLoading): Starting a timeout timer before the async request.
193         (WebCore::requestTimeoutCallback): Preparing a corresponding resource error and notifying clients of failure.
194         (WebCore::startNonHTTPRequest): Starting a timeout timer before the async request.
195
196 2012-09-26  Andrey Kosyakov  <caseq@chromium.org>
197
198         Web Inspector: paint inspector overlay on a transparency layer
199         https://bugs.webkit.org/show_bug.cgi?id=97659
200
201         Reviewed by Pavel Feldman.
202
203         Set composite operation to copy and begin transparency layer before painting the
204             frame view of overlay page, so that text on transparent background is properly rendered.
205
206         * inspector/InspectorOverlay.cpp:
207         (WebCore::InspectorOverlay::paint):
208
209 2012-09-26  Marcelo Lira  <marcelo.lira@openbossa.org>
210
211         [Qt] Make use of ASCIILiteral in PlatformKeyboardEventQt.cpp
212         https://bugs.webkit.org/show_bug.cgi?id=97612
213
214         Reviewed by Jocelyn Turcotte.
215
216         String literals returned by keyIdentifierForQtKeyCode and
217         keyTextForKeyEvent now make use of more efficient ASCIILiteral.
218
219         * platform/qt/PlatformKeyboardEventQt.cpp:
220         (WebCore::keyIdentifierForQtKeyCode):
221         (WebCore::keyTextForKeyEvent):
222
223 2012-09-26  Yury Semikhatsky  <yurys@chromium.org>
224
225         Unreviewed. Roll out http://trac.webkit.org/changeset/129502 since it broke cookie table.
226         https://bugs.webkit.org/show_bug.cgi?id=97471
227
228         * inspector/front-end/CookieParser.js:
229         (WebInspector.Cookie.prototype.expires):
230         * inspector/front-end/CookiesTable.js:
231         (WebInspector.CookiesTable.prototype._createGridNode):
232
233 2012-09-25  Vsevolod Vlasov  <vsevik@chromium.org>
234
235         Web Inspector: Remove resource() getter from UISourceCode.
236         https://bugs.webkit.org/show_bug.cgi?id=97557
237
238         Reviewed by Pavel Feldman.
239
240         Resource getter removed from UISourceCode. Resource could be fetched from ResourceTreeModel directly.
241
242         * inspector/front-end/CSSStyleModel.js:
243         (WebInspector.CSSStyleModelResourceBinding.prototype.setStyleContent):
244         * inspector/front-end/CompilerScriptMapping.js:
245         * inspector/front-end/JavaScriptSource.js:
246         (WebInspector.JavaScriptSource):
247         * inspector/front-end/NetworkUISourceCodeProvider.js:
248         (WebInspector.NetworkUISourceCodeProvider.prototype._resourceAdded):
249         * inspector/front-end/ResourceScriptMapping.js:
250         (WebInspector.ResourceScriptMapping.prototype._addOrReplaceTemporaryUISourceCode):
251         * inspector/front-end/SASSSourceMapping.js:
252         (WebInspector.SASSSource):
253         * inspector/front-end/ScriptSnippetModel.js:
254         (WebInspector.ScriptSnippetModel.prototype._createUISourceCodeForScript):
255         (WebInspector.SnippetJavaScriptSource):
256         * inspector/front-end/ScriptsPanel.js:
257         (WebInspector.ScriptsPanel.prototype._appendUISourceCodeItems):
258         * inspector/front-end/StyleSource.js:
259         (WebInspector.StyleSource):
260         * inspector/front-end/UISourceCode.js:
261         (WebInspector.UISourceCode):
262
263 2012-09-26  Vsevolod Vlasov  <vsevik@chromium.org>
264
265         Web Inspector: Fix closure compilation errors.
266         https://bugs.webkit.org/show_bug.cgi?id=97666
267
268         Reviewed by Alexander Pavlov.
269
270         Fixed closure compilation errors.
271         Changed contentProvider contentURL() method return type to string.
272         Removed redundant () in CookieTable.
273
274         * inspector/front-end/CSSStyleModel.js:
275         * inspector/front-end/ContentProvider.js:
276         * inspector/front-end/ContentProviders.js:
277         (WebInspector.ConcatenatedScriptsContentProvider.prototype.contentURL):
278         (WebInspector.StaticContentProvider.prototype.contentURL):
279         * inspector/front-end/CookiesTable.js:
280         (WebInspector.CookiesTable.prototype._createGridNode):
281         * inspector/front-end/DOMAgent.js:
282         (WebInspector.DOMDocument):
283         * inspector/front-end/FileContentView.js:
284         * inspector/front-end/NetworkRequest.js:
285         * inspector/front-end/Resource.js:
286         * inspector/front-end/Script.js:
287         * inspector/front-end/ScriptsPanel.js:
288         * inspector/front-end/UISourceCode.js:
289
290 2012-09-26  Yury Semikhatsky  <yurys@chromium.org>
291
292         Web Inspector: compare objects counted by the memory instrumentation with those allocated in the heap
293         https://bugs.webkit.org/show_bug.cgi?id=97641
294
295         Reviewed by Pavel Feldman.
296
297         Added code that allows to check if all objects counted by the memory instrumentation
298         were allocated by the underlying memory allocator. It requires support
299         from the memory allocator. The code works only if the set of allocated objects
300         is not empty and should only be used for debugging purposes.
301
302         * inspector/InspectorClient.h:
303         (InspectorClient):
304         (WebCore::InspectorClient::getAllocatedObjects):
305         * inspector/InspectorController.cpp:
306         (WebCore::InspectorController::InspectorController):
307         * inspector/InspectorMemoryAgent.cpp:
308         (WebCore::collectDomTreeInfo):
309         (WebCore::InspectorMemoryAgent::getProcessMemoryDistribution):
310         (WebCore::InspectorMemoryAgent::InspectorMemoryAgent):
311         * inspector/InspectorMemoryAgent.h:
312         (WebCore):
313         (WebCore::InspectorMemoryAgent::create):
314         (InspectorMemoryAgent):
315         * inspector/MemoryInstrumentationImpl.cpp:
316         (WebCore::MemoryInstrumentationImpl::MemoryInstrumentationImpl):
317         (WebCore::MemoryInstrumentationImpl::countObjectSize):
318         (WebCore):
319         (WebCore::MemoryInstrumentationImpl::checkCountedObject):
320         * inspector/MemoryInstrumentationImpl.h:
321         (MemoryInstrumentationImpl):
322
323 2012-09-26  Keishi Hattori  <keishi@webkit.org>
324
325         SuggestionPicker min width is two pixels wider than it should be
326         https://bugs.webkit.org/show_bug.cgi?id=97645
327
328         Reviewed by Kent Tamura.
329
330         Suggestion picker's minimum width should match inputWidth.
331
332         No new tests. Added later in Bug 97645.
333
334         * Resources/pagepopups/suggestionPicker.js:
335         (SuggestionPicker.prototype._measureMaxContentWidth):
336         (SuggestionPicker.prototype._fixWindowSize): We shouldn't be adding ListBorder to inputWidth.
337
338 2012-09-26  Andrey Adaikin  <aandrey@chromium.org>
339
340         Web Inspector: [TextEditor] fix tab unindent selection restore
341         https://bugs.webkit.org/show_bug.cgi?id=97462
342
343         Reviewed by Vsevolod Vlasov.
344
345         Selection would be wrongly restored on tab unindent when the last line does not need to be unindented unlike the others.
346
347         * inspector/front-end/DefaultTextEditor.js:
348         (WebInspector.TextEditorMainPanel.prototype._unindentLines.get var):
349         (WebInspector.TextEditorMainPanel.prototype._unindentLines):
350
351 2012-09-26  Yoshifumi Inoue  <yosin@chromium.org>
352
353         Rename ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS to ENABLE_INPUT_MULTIPLE_FIELDS_UI
354         https://bugs.webkit.org/show_bug.cgi?id=97640
355
356         This patch renames ENABLE_INPUT_TYPE_TIME MULTIPLE_FIELDS feature
357         flag to ENABLE_INPUT_MULTIPLE_FIELDS_UI for implementing multiple
358         fields date/time input UI other than input type "time".
359
360         No new tests. This patch doesn't change behavior.
361
362         * css/html.css:
363         * css/themeWin.css:
364         * html/DateTimeFieldsState.cpp:
365         * html/DateTimeFieldsState.h:
366         * html/TimeInputType.cpp:
367         (WebCore):
368         * html/TimeInputType.h:
369         (TimeInputType):
370         * html/shadow/DateTimeEditElement.cpp:
371         * html/shadow/DateTimeEditElement.h:
372         * html/shadow/DateTimeFieldElement.cpp:
373         * html/shadow/DateTimeFieldElement.h:
374         * html/shadow/DateTimeFieldElements.cpp:
375         * html/shadow/DateTimeFieldElements.h:
376         * html/shadow/DateTimeNumericFieldElement.cpp:
377         * html/shadow/DateTimeNumericFieldElement.h:
378         * html/shadow/DateTimeSymbolicFieldElement.cpp:
379         * html/shadow/DateTimeSymbolicFieldElement.h:
380         * platform/LocalizedStrings.h:
381         (WebCore):
382         * platform/text/DateTimeFormat.cpp:
383         * platform/text/DateTimeFormat.h:
384         * platform/text/LocaleICU.cpp:
385         (WebCore::LocaleICU::LocaleICU):
386         (WebCore::LocaleICU::~LocaleICU):
387         (WebCore):
388         * platform/text/LocaleICU.h:
389         (LocaleICU):
390         * platform/text/LocaleWin.cpp:
391         (WebCore):
392         * platform/text/LocaleWin.h:
393         (LocaleWin):
394         * platform/text/LocalizedNumber.h:
395         (WebCore):
396         * platform/text/LocalizedNumberICU.cpp:
397         (WebCore):
398         * platform/text/LocalizedNumberNone.cpp:
399         (WebCore):
400         * platform/text/Localizer.cpp:
401         (WebCore):
402         * platform/text/Localizer.h:
403         (Localizer):
404         * platform/text/mac/LocaleMac.h:
405         (LocaleMac):
406         * platform/text/mac/LocaleMac.mm:
407         (WebCore):
408         * platform/text/mac/LocalizedNumberMac.mm:
409         (WebCore):
410         * platform/text/win/LocalizedNumberWin.cpp:
411         (WebCore):
412
413 2012-09-26  Zan Dobersek  <zandobersek@gmail.com>
414
415         [GTK] Enable some of the unstable CSS features
416         https://bugs.webkit.org/show_bug.cgi?id=97572
417
418         Reviewed by Martin Robinson.
419
420         Enable the CSS sticky position, CSS3 text decoration and <style scoped>
421         features by default but disable them if unstable features are not meant
422         to be enabled.
423
424         No new tests - the related tests are being unskipped or are having failure
425         expectations removed.
426
427         * GNUmakefile.am:
428         * GNUmakefile.features.am:
429
430 2012-09-26  Dongwoo Joshua Im  <dw.im@samsung.com>
431
432         Fix potential build error on LocalFileSystem::deleteFileSystem
433         https://bugs.webkit.org/show_bug.cgi?id=97632
434
435         Reviewed by Yuta Kitamura.
436
437         Non-Chrome build of WebKit with FILE_SYSTEM flag will be broken at LocalFileSystem::deleteFileSystem.
438         Type of the third parameter is PassOwnPtr<AsyncFileSystemCallbacks> in header file,
439         but PassRefPtr<AsyncFileSystemCallbacks> in cpp file.
440
441         Non-Chrome WebKit build with FILE_SYSTEM should be finished successfully.
442
443         * Modules/filesystem/LocalFileSystem.cpp:
444         (WebCore::LocalFileSystem::deleteFileSystem):
445
446 2012-09-25  Patrick Gansterer  <paroga@webkit.org>
447
448         [WIN] Fix ASSERT in BString after r128988.
449
450         * platform/win/BString.cpp:
451         (WebCore::BString::~BString):
452         (WebCore::BString::adoptBSTR):
453         (WebCore::BString::clear): Set pointer to 0 after freeing.
454
455 2012-09-25  Yoshifumi Inoue  <yosin@chromium.org>
456
457         [Forms] We should disconnect DateTimeEditElement and DateTimeFieldElement on layout()
458         https://bugs.webkit.org/show_bug.cgi?id=97438
459
460         Reviewed by Kent Tamura.
461
462         This patch is for code cleanup. It is better to disconnect DateTimeFieldElement
463         from DateTimeEditElement when DateTimeEditElement doesn't have
464         pointers to DateTimeFieldElement.
465
466         No new tests. This patch doesn't change behavior.
467
468         * html/shadow/DateTimeEditElement.cpp:
469         (WebCore::DateTimeEditElement::resetFields): Changed to call DateTimeFieldElement::removeEventHandler()
470         for existing fields to disconnect DateTimeEditElement and DateTimeFieldElement.
471
472 2012-09-25  Bear Travis  <betravis@adobe.com>
473
474         [CSS Exclusions] shape-inside line segment layout should be based on line position and height
475         https://bugs.webkit.org/show_bug.cgi?id=95479
476
477         Reviewed by Levi Weintraub.
478
479         This patch adds line height to line top to calculate line segments using the line's upper
480         and lower logical edges. The last line in a shape is allowed to overflow the shape,
481         using line top and shape bottom to calculate the available line segments. Overflow
482         behavior will develop in greater detail as the specification advances. For more on
483         overflow, see:
484         - http://dev.w3.org/csswg/css3-exclusions/#shape-inside-property and
485         - https://www.w3.org/Bugs/Public/show_bug.cgi?id=16460
486
487         As more shapes are added, line positions within a shape are no longer guaranteed to
488         have segments (eg, the first line in a circular shape inside), and so many instances
489         of lineState were replaced with hasSegments. Layout code also uses lineOverlapsShapeBounds
490         rather than lineState, now that lines may partially overlap a shape without being
491         completely contained by it. Because layout begins at the shape's logical top, however,
492         we only run into this edge case laying out the last line within a shape-inside.
493
494         Test: fast/exclusions/shape-inside/shape-inside-rounded-rectangle.html
495
496         * rendering/RenderBlockLineLayout.cpp:
497         (WebCore::LineWidth::LineWidth): Use WrapShapeInfo::hasSegments rather than
498         WrapShapeInfo::lineState, as line positions within a shape are no longer
499         guaranteed to always have line segments. 
500         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Ditto.
501         (WebCore::RenderBlock::layoutRunsAndFloatsInRange): Pass lineBottom as well as lineTop
502         to computeSegmentsForLine.
503         * rendering/WrapShapeInfo.cpp:
504         (WebCore::WrapShapeInfo::computeSegmentsForLine): Pass lineBottom as well as lineTop
505         to ExclusionShape::getInsideIntervals.
506         * rendering/WrapShapeInfo.h:
507         (WrapShapeInfo):
508         (WebCore::WrapShapeInfo::shapeLogicalBottom): Calculate the logical bottom of an
509         Exclusion Shape.
510         (WebCore::WrapShapeInfo::hasSegments): Allow hasSegments to be called even when
511         a line does not overlap a shape.
512         (WebCore::WrapShapeInfo::lineOverlapsShapeBounds): Test whether a line's top/bottom
513         overlap a shape's top/bottom. This includes lines that begin before or end after
514         a shape but still overlap it.
515
516 2012-09-25  Adam Barth  <abarth@webkit.org>
517
518         [Chromium] Network requests without a networking context can be started
519         https://bugs.webkit.org/show_bug.cgi?id=97498
520
521         Reviewed by Eric Seidel.
522
523         We shouldn't try to start network requests without a networking
524         context. Other ports have a similar null check.
525
526         * platform/network/chromium/ResourceHandle.cpp:
527         (WebCore::ResourceHandle::start):
528
529 2012-09-25  Justin Schuh  <jschuh@chromium.org>
530
531         Mask RenderArena freelist entries.
532         https://bugs.webkit.org/show_bug.cgi?id=97494
533
534         Reviewed by Julien Chaffraix.
535
536         This is a mitigation for freelist spraying. See http://download.crowdstrike.com/papers/hes-exploiting-a-coalmine.pdf.
537
538         No new tests. This is a hardening measure. Found no measurable performance impact with Dromaeo.
539
540         * rendering/RenderArena.cpp:
541         (MaskPtr):
542         (WebCore::RenderArena::allocate):
543         (WebCore::RenderArena::free):
544
545 2012-09-25  Luke Macpherson   <macpherson@chromium.org>
546
547         Ensure variables are resolved for specialized CSS primitive value types.
548         https://bugs.webkit.org/show_bug.cgi?id=95930
549
550         Reviewed by Tony Chang.
551
552         Sometimes CSSPrimitiveValue contains a collection of other CSSPrimitiveValues (eg. 2, 4 or n).
553         This patch makes sure any variables contained inside those child values are resolved.
554
555         Tests: fast/css/variables/root-background-size.html
556                fast/css/variables/var-inside-pair.html
557                fast/css/variables/var-inside-quad.html
558                fast/css/variables/var-inside-shape.html
559
560         * css/CSSBasicShapes.cpp:
561         (WebCore::buildRectangleString):
562         (WebCore::CSSBasicShapeRectangle::cssText):
563         (WebCore):
564         (WebCore::CSSBasicShapeRectangle::serializeResolvingVariables):
565         Generates a string representation of this value with variables resolved from the provided HashMap of variables.
566         (WebCore::CSSBasicShapeRectangle::hasVariableReference):
567         Returns true if any of the values used to describe the rectange depend on the value of a variable.
568         (WebCore::buildCircleString):
569         (WebCore::CSSBasicShapeCircle::cssText):
570         (WebCore::CSSBasicShapeCircle::serializeResolvingVariables):
571         (WebCore::CSSBasicShapeCircle::hasVariableReference):
572         (WebCore::buildEllipseString):
573         (WebCore::CSSBasicShapeEllipse::cssText):
574         (WebCore::CSSBasicShapeEllipse::serializeResolvingVariables):
575         (WebCore::CSSBasicShapeEllipse::hasVariableReference):
576         (WebCore::CSSBasicShapePolygon::serializeResolvingVariables):
577         (WebCore::CSSBasicShapePolygon::hasVariableReference):
578         * css/CSSBasicShapes.h:
579         (CSSBasicShapeRectangle):
580         (CSSBasicShapeCircle):
581         (CSSBasicShapeEllipse):
582         (CSSBasicShapePolygon):
583         * css/CSSPrimitiveValue.cpp:
584         (WebCore::CSSPrimitiveValue::customCssText):
585         Move the logic for generating the strings for Rects, Quads, Pairs and Shapes into their respective classes.
586         (WebCore::CSSPrimitiveValue::customSerializeResolvingVariables):
587         Handle Rects, Quads, Pairs and Shapes when they contain variables, by calling their serializeResolvingVariables method.
588         (WebCore):
589         (WebCore::CSSPrimitiveValue::hasVariableReference):
590         Handle Rects, Quads, Pairs and Shapes by calling their respective hasVariableReference methods.
591         * css/CSSPrimitiveValue.h:
592         (CSSPrimitiveValue):
593         * css/Pair.h:
594         (WebCore::Pair::pairString):
595         (Pair):
596         (WebCore::Pair::cssText):
597         (WebCore::Pair::serializeResolvingVariables):
598         (WebCore::Pair::hasVariableReference):
599         * css/Rect.h:
600         (RectBase):
601         (WebCore::RectBase::hasVariableReference):
602         (WebCore::Rect::rectString):
603         (Rect):
604         (WebCore::Rect::cssText):
605         (WebCore::Rect::serializeResolvingVariables):
606         (WebCore::Quad::quadString):
607         (Quad):
608         (WebCore::Quad::cssText):
609         (WebCore::Quad::serializeResolvingVariables):
610         * css/StyleResolver.cpp:
611         (WebCore::StyleResolver::collectMatchingRulesForList):
612
613 2012-09-25  Filip Pizlo  <fpizlo@apple.com>
614
615         JSC bindings appear to sometimes ignore the possibility of arrays being in sparse mode
616         https://bugs.webkit.org/show_bug.cgi?id=95610
617
618         Reviewed by Oliver Hunt.
619
620         Fix all of the cases I found where we were using getIndexQuickly(), which was wrong
621         if we were in sparse mode.
622
623         * bindings/js/ArrayValue.cpp:
624         (WebCore::ArrayValue::get):
625         * bindings/js/JSBlobCustom.cpp:
626         (WebCore::JSBlobConstructor::constructJSBlob):
627         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
628         (WebCore::JSCanvasRenderingContext2D::setWebkitLineDash):
629         * bindings/js/JSDOMStringListCustom.cpp:
630         (WebCore::toDOMStringList):
631         * bindings/js/JSInspectorFrontendHostCustom.cpp:
632         (WebCore::populateContextMenuItems):
633         * bindings/js/JSWebSocketCustom.cpp:
634         (WebCore::JSWebSocketConstructor::constructJSWebSocket):
635         * bindings/js/ScriptValue.cpp:
636         (WebCore::jsToInspectorValue):
637         * bindings/js/SerializedScriptValue.cpp:
638         (CloneSerializer):
639         (WebCore::CloneSerializer::serialize):
640
641 2012-09-25  Tim Horton  <timothy_horton@apple.com>
642
643         Load the linearized sRGB profile via NSData instead of CoreFoundation
644         https://bugs.webkit.org/show_bug.cgi?id=97616
645
646         Reviewed by Dan Bernstein.
647
648         * platform/graphics/cg/GraphicsContextCG.cpp:
649         (WebCore::linearRGBColorSpaceRef):
650         * platform/graphics/mac/GraphicsContextMac.mm:
651         (WebCore::linearRGBColorSpaceRef):
652
653 2012-09-25  Mike West  <mkwst@chromium.org>
654
655         CSP logging: Be more developer-friendly when 'default-src' is violated.
656         https://bugs.webkit.org/show_bug.cgi?id=97597
657
658         Reviewed by Adam Barth.
659
660         Developers unfamiliar with the details of Content Security Policy might
661         be confused when 'default-src' is used as a fallback for a directive
662         otherwise absent from the policy they've set. This patch adds an
663         explicit explanation to the permission warning in such a situation.
664
665         New warning string is covered by rebaselining existing tests.
666
667         * page/ContentSecurityPolicy.cpp:
668         (WebCore::CSPDirectiveList::checkEvalAndReportViolation):
669         (WebCore::CSPDirectiveList::checkInlineAndReportViolation):
670         (WebCore::CSPDirectiveList::checkSourceAndReportViolation):
671             If the operative directive is 'default-src', output a warning,
672             using the type information present in the report to specify which
673             directive is falling back to the default values.
674
675 2012-09-25  Beth Dakin  <bdakin@apple.com>
676
677         https://bugs.webkit.org/show_bug.cgi?id=97615
678         fast/loader/scroll-position-restored-on-back.html failing after 
679         didFirstLayout/didFirstVisuallyNonEmptyLayout change
680
681         Reviewed by Sam Weinig.
682
683         http://trac.webkit.org/changeset/129545 made it so we only dispatch 
684         the layout callbacks when the client has opted into them. This is a 
685         problem for a bit of work that used to be done, prior to that patch, 
686         in FrameLoader::didFirstLayout(). Because that function did some work 
687         with scroll position and the state machine, and that is work that we 
688         want to do even when the client has not opted into the didFirstLayout 
689         callback. We are seeing this bug in DRT and WTR since those clients 
690         do not opt into the callback. And they shouldn't have to to get this 
691         scroll position and state machine work done. 
692
693         * loader/FrameLoader.cpp:
694         (WebCore::FrameLoader::didLayout):
695         (WebCore::FrameLoader::didFirstLayout):
696         * loader/FrameLoader.h:
697         (FrameLoader):
698         * page/FrameView.cpp:
699         (WebCore::FrameView::performPostLayoutTasks):
700
701 2012-09-24  Simon Fraser  <simon.fraser@apple.com>
702
703         <rdar://problem/12351906> Have DumpRenderTree and WebKitTestRunner crash logs show which test crashed
704
705         Reviewed by Mark Rowe.
706
707         Use a new WebKitSytemInterface function to add data to crash logs about which 
708         test was running when the crash happened.
709
710         * WebCore.exp.in: Export wkSetCrashReportApplicationSpecificInformation
711         * platform/mac/WebCoreSystemInterface.h: Add wkSetCrashReportApplicationSpecificInformation.
712         * platform/mac/WebCoreSystemInterface.mm: Ditto.
713
714 2012-09-25  Adam Klein  <adamk@chromium.org>
715
716         Remove unused DOMAttrModified from EventsNames and Document::ListenerType
717         https://bugs.webkit.org/show_bug.cgi?id=97591
718
719         Reviewed by Ojan Vafai.
720
721         WebKit does not, and will never, fire DOMAttrModified events, so
722         there's no need to create the "DOMAttrModified" event name.
723
724         The only use of the name was to set the DOMATTRMODIFIED_LISTENER bit
725         on Document; with the name gone, the enum value can be removed as well.
726
727         * dom/Document.cpp:
728         (WebCore::Document::addListenerTypeIfNeeded):
729         * dom/Document.h: Remove DOMATTRMODIFIED_LISTENER, and switch this
730         enum to use shift-left instead of hex values, so as to be easier to
731         update in future.
732         * dom/EventNames.h:
733         (WebCore):
734
735 2012-09-25  Leo Yang  <leoyang@rim.com>
736
737         GraphicsContext3D::compileShader is using incorrect string length in GraphicsContext3DOpenGLCommon.cpp
738         https://bugs.webkit.org/show_bug.cgi?id=97476
739
740         Reviewed by Dean Jackson.
741
742         No new tests because it's not testable in webkit test runner.
743
744         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
745         (WebCore::GraphicsContext3D::compileShader):
746         Use translatedShaderCString.length() instead of translatedShaderSource.length()
747         for the shader source length because we are using translatedShaderCString.data()
748         for glShaderSource().
749
750 2012-09-25  Huang Dongsung  <luxtella@company100.net>
751
752         Use USE(3D_GRAPHICS) in CSS SHADERS code when ENABLE(WEBGL) is true.
753         https://bugs.webkit.org/show_bug.cgi?id=97543
754
755         Reviewed by Dean Jackson.
756
757         This patch cleans remaining ENABLE(WEBGL) guards in CSS SHADERS code after
758         r122175, which made USE(3D_GRAPHICS) default to true when ENABLE(WEBGL) is true.
759
760         No new tests because of no behavior changes.
761
762         * rendering/FilterEffectRenderer.cpp:
763         (WebCore):
764         (WebCore::FilterEffectRenderer::build):
765         * rendering/RenderView.cpp:
766         (WebCore):
767         * rendering/RenderView.h:
768         (WebCore):
769         (RenderView):
770
771 2012-09-25  Beth Dakin  <bdakin@apple.com>
772
773         https://bugs.webkit.org/show_bug.cgi?id=95397
774         Need to merge didFirstVisuallyNonEmptyLayout and 
775         didNewFirstVisuallyNonEmptyLayout
776         -and corresponding-
777         <rdar://problem/10791680>
778
779         Reviewed by Sam Weinig.
780
781         This patch merges didFirstLayout, didFirstVisuallyNonEmptyLayout, 
782         and didNewFirstVisuallyNonEmptyLayout. Page keeps track of which 
783         layout milestones we are interested in with a bit mask, so that 
784         different ports/clients can opt-into different milestones. This 
785         will allow us to safely add more layout milestones in the future 
786         if that seems worthwhile.
787
788         Include new file LayoutMilestoneOptions.h
789         * GNUmakefile.list.am:
790         * Target.pri:
791         * WebCore.exp.in:
792         * WebCore.gypi:
793         * WebCore.xcodeproj/project.pbxproj:
794
795         Remove dispatchDidFirstLayout, 
796         dispatchDidFirstVisuallyNonEmptyLayout, and 
797         dispatchDidNewFirstVisuallyNonEmptyLayout. They are now replaced 
798         by dispatchDidLayout(LayoutMilestoneOptions)
799         * loader/EmptyClients.h:
800         (WebCore::EmptyFrameLoaderClient::dispatchDidLayout):
801         * loader/FrameLoader.cpp:
802         (WebCore::FrameLoader::didLayout):
803         * loader/FrameLoader.h:
804         (FrameLoader):
805         * loader/FrameLoaderClient.h:
806         (FrameLoaderClient):
807         (WebCore::FrameLoaderClient::dispatchDidLayout):
808         * page/LayoutMilestoneOptions.h: Added.
809         (WebCore):
810
811         Check with Page to find out which layout milestones the client is 
812         interested in, and then dispatch the notifications when 
813         appropriate.
814         * page/FrameView.cpp:
815         (WebCore::FrameView::performPostLayoutTasks):
816
817         Remove setRelevantRepaintedObjectsCounterThreshold(). Instead keep 
818         track of the layout milestones bit mask.
819         * page/Page.cpp:
820         (WebCore::Page::Page):
821         (WebCore::Page::addLayoutMilestones):
822         (WebCore):
823         (WebCore::Page::isCountingRelevantRepaintedObjects):
824         (WebCore::Page::addRelevantRepaintedObject):
825         * page/Page.h:
826         (Page):
827         (WebCore::Page::layoutMilestones):
828
829 2012-09-25  Andreas Kling  <kling@webkit.org>
830
831         StylePropertySet: Use subclasses to manage varying object layouts.
832         <http://webkit.org/b/97470>
833
834         Reviewed by Antti Koivisto.
835
836         Add two StylePropertySet subclasses:
837
838             - MutableStylePropertySet
839             - ImmutableStylePropertySet
840
841         The StylePropertySet::m_isMutable bit determines which subclass to cast to when accessing
842         the property storage. Added mutablePropertyVector() and immutablePropertyArray() helpers
843         to StylePropertySet (with appropriate assertions.)
844
845         This patch removes one heap allocation (and one step of indirection) in the mutable case,
846         since the Vector<CSSProperty> is no longer heap-allocated, but part of MutableStylePropertySet.
847
848         Override RefCounted::deref() in StylePropertySet to make sure that the correct subclass
849         destructor gets called.
850
851         * WebCore.exp.in:
852         * css/StylePropertySet.cpp:
853         (WebCore::immutableStylePropertySetSize):
854         (WebCore::StylePropertySet::createImmutable):
855         (WebCore::StylePropertySet::immutableCopyIfNeeded):
856         (WebCore::MutableStylePropertySet::MutableStylePropertySet):
857         (WebCore::ImmutableStylePropertySet::ImmutableStylePropertySet):
858         (WebCore::ImmutableStylePropertySet::~ImmutableStylePropertySet):
859         (WebCore::StylePropertySet::~StylePropertySet):
860         (WebCore::StylePropertySet::removeProperty):
861         (WebCore::StylePropertySet::parseDeclaration):
862         (WebCore::StylePropertySet::addParsedProperties):
863         (WebCore::StylePropertySet::removePropertiesInSet):
864         (WebCore::StylePropertySet::removeEquivalentProperties):
865         (WebCore::StylePropertySet::copy):
866         (WebCore::StylePropertySet::reportMemoryUsage):
867         (WebCore::StylePropertySet::append):
868         (WebCore::StylePropertySet::create):
869         * css/StylePropertySet.h:
870         (StylePropertySet):
871         (WebCore::StylePropertySet::StylePropertySet):
872         (ImmutableStylePropertySet):
873         (MutableStylePropertySet):
874         (WebCore::MutableStylePropertySet::MutableStylePropertySet):
875         (WebCore::StylePropertySet::mutablePropertyVector):
876         (WebCore::StylePropertySet::immutablePropertyArray):
877         (WebCore::StylePropertySet::propertyAt):
878         (WebCore::StylePropertySet::propertyCount):
879         (WebCore::StylePropertySet::deref):
880
881 2012-09-25  Joshua Bell  <jsbell@chromium.org>
882
883         IndexedDB: One transaction coordinator per database
884         https://bugs.webkit.org/show_bug.cgi?id=97501
885
886         Reviewed by Tony Chang.
887
888         Per the IDB spec, transactions only need to be sequenced within databases.
889         The implementation was using one coordinator per factory backend (effectively
890         a singleton), which would prevent parallel execution of transactions in different
891         databases. Moved ownership of the transaction coordinator to the database backend.
892
893         Tests: storage/indexeddb/transaction-coordination-across-databases.html
894                storage/indexeddb/transaction-readwrite-exclusive.html
895
896         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
897         (WebCore::IDBDatabaseBackendImpl::create):
898         (WebCore):
899         (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
900         * Modules/indexeddb/IDBDatabaseBackendImpl.h:
901         (IDBDatabaseBackendImpl):
902         * Modules/indexeddb/IDBFactoryBackendImpl.cpp:
903         (WebCore::IDBFactoryBackendImpl::deleteDatabase):
904         (WebCore::IDBFactoryBackendImpl::open):
905         * Modules/indexeddb/IDBFactoryBackendImpl.h:
906         (WebCore):
907         (IDBFactoryBackendImpl):
908         * Modules/indexeddb/IDBTransactionCoordinator.cpp:
909         (WebCore::IDBTransactionCoordinator::create):
910         (WebCore::IDBTransactionCoordinator::IDBTransactionCoordinator):
911         * Modules/indexeddb/IDBTransactionCoordinator.h:
912         (IDBTransactionCoordinator):
913
914 2012-09-25  Sheriff Bot  <webkit.review.bot@gmail.com>
915
916         Unreviewed, rolling out r129517.
917         http://trac.webkit.org/changeset/129517
918         https://bugs.webkit.org/show_bug.cgi?id=97582
919
920         Link errors in chromium (Requested by alecf on #webkit).
921
922         * Modules/mediastream/MediaConstraintsImpl.cpp:
923         * Modules/mediastream/MediaConstraintsImpl.h:
924         * Modules/mediastream/NavigatorMediaStream.cpp:
925         (WebCore::NavigatorMediaStream::webkitGetUserMedia):
926         * Modules/mediastream/UserMediaRequest.cpp:
927         (WebCore::UserMediaRequest::create):
928         (WebCore::UserMediaRequest::UserMediaRequest):
929         * Modules/mediastream/UserMediaRequest.h:
930         (WebCore):
931         (UserMediaRequest):
932         (WebCore::UserMediaRequest::audio):
933         (WebCore::UserMediaRequest::video):
934         * platform/chromium/support/WebMediaConstraints.cpp:
935
936 2012-09-25  Bear Travis  <betravis@adobe.com>
937
938         [CSS Exclusions] Enable css exclusions for multiple blocks per element
939         https://bugs.webkit.org/show_bug.cgi?id=89993
940
941         Reviewed by Julien Chaffraix.
942
943         Similar to multi-column layout, a parent RenderBlock's WrapShapeInfo may affect
944         the inline content of its children. This patch follows the example of ColumnInfo
945         and adds WrapShapeInfo to LayoutState, which tracks the current shape-inside that
946         inline content should respect.
947
948         Tests: fast/exclusions/shape-inside/shape-inside-multiple-blocks.html
949                fast/exclusions/shape-inside/shape-inside-multiple-blocks-vertical.html
950
951         * rendering/LayoutState.cpp:
952         (WebCore::LayoutState::LayoutState): Initialize m_wrapShapeInfo.
953         * rendering/LayoutState.h:
954         (WebCore):
955         (WebCore::LayoutState::LayoutState): Initialize m_wrapShapeInfo.
956         (LayoutState):
957         (WebCore::LayoutState::wrapShapeInfo): Getter for m_wrapShapeInfo.
958         * rendering/RenderBlockLineLayout.cpp:
959         (WebCore::LineWidth::LineWidth): Use LayoutState to lookup WrapShapeInfo.
960         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Ditto.
961         (WebCore::RenderBlock::layoutRunsAndFloatsInRange): Ditto.
962         * rendering/RenderView.h:
963         (WebCore::RenderView::pushLayoutState): Push LayoutState if a WrapShapeInfo
964         is present.
965
966 2012-09-24  Emil A Eklund  <eae@chromium.org>
967
968         [chromium] REGRESSION: Incorrect preferred width calculation for table cells
969         https://bugs.webkit.org/show_bug.cgi?id=97497
970
971         Reviewed by Levi Weintraub.
972
973         In fixing bug 93911 r125694 caused a problem with the preferred
974         width calculations for table cells with a fractional padding
975         where the logic to ensure that the cell is wide enough for the
976         content returns different results for cells with a fixed width
977         and cells with an automatic width.
978
979         Test: fast/sub-pixel/table-cells-have-stable-width.html
980
981         * rendering/AutoTableLayout.cpp:
982         (WebCore::AutoTableLayout::recalcColumn):
983         * rendering/RenderBlock.cpp:
984         (WebCore::RenderBlock::computePreferredLogicalWidths):
985         Move the logic that ensures that a cell is wide enough from AutoTableLayout::recalcColumn to RenderBlock::computePreferredLogicalWidths to. This way it also applies to FixedTableLayout which had the same problem.
986
987 2012-09-25  Dominic Mazzoni  <dmazzoni@google.com>
988
989         AX: Chromium doesn't pass accessibility text range and line number tests
990         https://bugs.webkit.org/show_bug.cgi?id=97246
991
992         Reviewed by Chris Fleizach.
993
994         Adds a method to get all line breaks at once, so retrieving all
995         line breaks isn't an O(n^2) operation for Chromium.
996
997         Enables four existing tests to pass on Chromium:
998         Tests: accessibility/textarea-insertion-point-line-number.html
999                accessibility/textarea-line-for-index.html
1000                accessibility/textarea-selected-text-range.html
1001                accessibility/textbox-role-reports-selection.html
1002
1003         * accessibility/AccessibilityObject.h:
1004         (WebCore::AccessibilityObject::lineBreaks):
1005         * accessibility/AccessibilityRenderObject.cpp:
1006         (WebCore::AccessibilityRenderObject::lineBreaks):
1007         (WebCore):
1008         * accessibility/AccessibilityRenderObject.h:
1009         (AccessibilityRenderObject):
1010
1011 2012-09-25  Mike West  <mkwst@google.com>
1012
1013         CSP paths: Ignore invalid path components, rather than dropping the source completely.
1014         https://bugs.webkit.org/show_bug.cgi?id=97538
1015
1016         Reviewed by Adam Barth.
1017
1018         Content Security Policy directives that accept source lists currently
1019         handle soure URI paths containing '?' or '#' in a draconian fashion by
1020         dropping the entire source expression. We should be slightly friendlier,
1021         and ignore simply the portion of the source expression that we know to
1022         be invalid, just as we previously ignored everything after and including
1023         a '/' in source expressions before we supported paths.
1024
1025         The new behavior is covered by existing tests, and two test-cases added
1026         to http/tests/security/contentSecurityPolicy/source-list-parsing-paths-02.html.
1027
1028         * page/ContentSecurityPolicy.cpp:
1029         (WebCore::CSPSourceList::parsePath):
1030             Report an error to the console, rather than ignoring a path that
1031             contains an invalid fragment or query.
1032         (WebCore::ContentSecurityPolicy::reportInvalidPathCharacter):
1033         (WebCore):
1034         * page/ContentSecurityPolicy.h:
1035             Add a new warning type to cover this case.
1036
1037 2012-09-25  commit-queue@webkit.org  <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
1038
1039         [BlackBerry] Reverting implementation for 407 error pages
1040         https://bugs.webkit.org/show_bug.cgi?id=97455
1041
1042         Reviewed by Rob Buis.
1043
1044         Adding additional fixes to NetworkJob since BlackBerry::Platform::Client
1045         is no longer avaliable. Using BlackBerryPlatformSettings to get proxy
1046         information instead.
1047
1048         BlackBerryPlatformClient was deleted in PR 170160.
1049
1050         * platform/network/blackberry/NetworkJob.cpp:
1051         (WebCore::NetworkJob::sendRequestWithCredentials):
1052
1053 2012-09-25  Hans Wennborg  <hans@chromium.org>
1054
1055         GIFImageReader: fix tautological compare
1056         https://bugs.webkit.org/show_bug.cgi?id=97563
1057
1058         Reviewed by Adam Barth.
1059
1060         The frame_reader->disposal_method field is of type
1061         ImageFrame::FrameDisposalMethod, which has a range of 0--3. Therefore,
1062         recent versions of Clang concludes that the expression
1063         frame_reader->disposal_method == 4
1064         will never be true, and warns about it.
1065
1066         This patch fixes the code by doing the comparison before storing the
1067         value in the enum.
1068
1069         No new functionality, no new tests.
1070
1071         * platform/image-decoders/gif/GIFImageReader.cpp:
1072         (GIFImageReader::read):
1073
1074 2012-09-25  Tommy Widenflycht  <tommyw@google.com>
1075
1076         MediaStream API: Update getUserMedia to match the latest specification
1077         https://bugs.webkit.org/show_bug.cgi?id=97540
1078
1079         Reviewed by Adam Barth.
1080
1081         http://dev.w3.org/2011/webrtc/editor/getusermedia.html#navigatorusermedia
1082         Navigator.getUserMedia is changed so that the audio and video members can either
1083         be a bool or a constraints object.
1084
1085         Existing tests expanded to cover the new change.
1086
1087         * Modules/mediastream/MediaConstraintsImpl.cpp:
1088         (WebCore::MediaConstraintsImpl::create):
1089         (WebCore):
1090         * Modules/mediastream/MediaConstraintsImpl.h:
1091         (MediaConstraintsImpl):
1092         * Modules/mediastream/NavigatorMediaStream.cpp:
1093         (WebCore::NavigatorMediaStream::webkitGetUserMedia):
1094         * Modules/mediastream/UserMediaRequest.cpp:
1095         (WebCore::parseOptions):
1096         (WebCore):
1097         (WebCore::UserMediaRequest::create):
1098         (WebCore::UserMediaRequest::UserMediaRequest):
1099         (WebCore::UserMediaRequest::audio):
1100         (WebCore::UserMediaRequest::video):
1101         (WebCore::UserMediaRequest::audioConstraints):
1102         (WebCore::UserMediaRequest::videoConstraints):
1103         * Modules/mediastream/UserMediaRequest.h:
1104         (WebCore):
1105         (UserMediaRequest):
1106         * platform/chromium/support/WebMediaConstraints.cpp:
1107         (WebKit::WebMediaConstraints::WebMediaConstraints):
1108         (WebKit):
1109
1110 2012-09-25  mire  <mbudaes@adobe.com>
1111
1112         Web Inspector: yellow on-hover pop-up won't go if another pane asynchronously opens
1113         https://bugs.webkit.org/show_bug.cgi?id=97120
1114
1115         Reviewed by Alexander Pavlov.
1116
1117         Add mouseout event listener to popover element so that the pop-up will go when moving to another panel.
1118
1119         No new tests.
1120
1121         * inspector/front-end/Popover.js:
1122         (WebInspector.Popover.prototype.show):
1123         (WebInspector.PopoverHelper.prototype._mouseOut):
1124
1125 2012-09-25  Otto Derek Cheung  <otcheung@rim.com>
1126
1127         [BlackBerry] Reverting implementation for 407 error pages
1128         https://bugs.webkit.org/show_bug.cgi?id=97455
1129
1130         Reviewed by Rob Buis.
1131
1132         Revert "[BlackBerry] Show custom error page when 407 is received"
1133         This reverts commit f6fe97ec3f1841a151e4ebdde21f710a6185f9d6.
1134
1135         * platform/network/blackberry/NetworkJob.cpp:
1136         (WebCore::NetworkJob::handleNotifyStatusReceived):
1137         (WebCore::NetworkJob::notifyAuthReceived):
1138         (WebCore::NetworkJob::sendRequestWithCredentials):
1139
1140 2012-09-25  Otto Derek Cheung  <otcheung@rim.com>
1141
1142         Web Inspector: Cookie info in Network Resources Cookies tab shows "Invalid Date"
1143         https://bugs.webkit.org/show_bug.cgi?id=97471
1144
1145         Reviewed by Yury Semikhatsky.
1146
1147         The original implementation is trying to create a new Date object
1148         using another Date object, which is invalid. Also, Date.toGMTString is
1149         deprecated.
1150
1151         The fix replaces toGMTString with toUTCString and fixes cookie.expire
1152         so it won't crash when an empty requestDate is passed in.
1153
1154         Following RFC 6265, Max-age attributes now take precedence over expiresi
1155         attribute in CookieParser.
1156
1157         Manual testing on inspector to make sure the CookiesTable is properly generated.
1158
1159         * inspector/front-end/CookieParser.js:
1160         (WebInspector.Cookie.prototype.expires):
1161         * inspector/front-end/CookiesTable.js:
1162         (WebInspector.CookiesTable.prototype._createGridNode):
1163
1164 2012-09-25  Keishi Hattori  <keishi@webkit.org>
1165
1166         [Chromium] Enable datalist UI for input type=date
1167         https://bugs.webkit.org/show_bug.cgi?id=97541
1168
1169         Reviewed by Kent Tamura.
1170
1171         This enables datalist UI for input type=date on Chromium.
1172
1173         No new tests. Adding tests in Bug 97551.
1174
1175         * rendering/RenderThemeChromiumCommon.cpp:
1176         (WebCore::RenderThemeChromiumCommon::supportsDataListUI):
1177
1178 2012-09-25  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
1179
1180         [WK2] Supported media MIME types are not included to the list of shown MIME types.
1181         https://bugs.webkit.org/show_bug.cgi?id=97552
1182
1183         Reviewed by Kenneth Rohde Christiansen.
1184
1185         Exported WebCore::MIMETypeRegistry::isSupportedMediaMIMEType() for MAC.
1186
1187         No new tests. No new functionality.
1188
1189         * WebCore.exp.in:
1190
1191 2012-09-25  Vsevolod Vlasov  <vsevik@chromium.org>
1192
1193         Web Inspector: ResourceScriptMapping should no steal scripts from other mappings.
1194         https://bugs.webkit.org/show_bug.cgi?id=97453
1195
1196         Reviewed by Pavel Feldman.
1197
1198         Exposed sourceMapping getter on Script so that resource mapping could check it.
1199
1200         * inspector/front-end/ResourceScriptMapping.js:
1201         (WebInspector.ResourceScriptMapping):
1202         (WebInspector.ResourceScriptMapping.prototype._scriptsForSourceURL):
1203         (WebInspector.ResourceScriptMapping.prototype._reset):
1204
1205 2012-09-25  Keishi Hattori  <keishi@webkit.org>
1206
1207         REGRESSION(r129448): multiple fields time input UI doesn't use system time format settings on Chromium-Mac
1208         https://bugs.webkit.org/show_bug.cgi?id=97517
1209
1210         Reviewed by Kent Tamura.
1211
1212         We need to locale [NSLocale currentLocale] if browser language/@lang equals [[NSLocal currentLocale] localeIdentifier]. Otherwise it won't use the custom time format that the user has set.
1213
1214         No new tests. Unable to test because we need to change system locale settings.
1215
1216         * platform/text/mac/LocaleMac.h:
1217         (LocaleMac):
1218         * platform/text/mac/LocaleMac.mm:
1219         (WebCore::languageFromLocale): Moved to top.
1220         (WebCore):
1221         (WebCore::determineLocale): Modified so it takes a locale as an argument.
1222         (WebCore::Localizer::create):
1223         (WebCore::LocaleMac::LocaleMac): Added checks for invalid locales to this constructor and removed the other one so we don't have duplicated code.
1224         (WebCore::LocaleMac::create):
1225         (WebCore::LocaleMac::currentLocale):
1226
1227 2012-09-20  Alexander Pavlov  <apavlov@chromium.org>
1228
1229         Web Inspector: Relative URL Link Tooltips do not respect <base>
1230         https://bugs.webkit.org/show_bug.cgi?id=43434
1231
1232         Reviewed by Pavel Feldman.
1233
1234         New "baseURL" field added into the DOM.Node payload for document nodes and is made use of while resolving and completing URLs.
1235
1236         * inspector/Inspector.json:
1237         * inspector/InspectorDOMAgent.cpp:
1238         (WebCore::documentBaseURLString):
1239         (WebCore):
1240         (WebCore::InspectorDOMAgent::buildObjectForNode):
1241         * inspector/front-end/AuditRules.js:
1242         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
1243         (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.externalStylesheetsReceived):
1244         (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.cssBeforeInlineReceived):
1245         * inspector/front-end/DOMAgent.js:
1246         (WebInspector.DOMNode.prototype.resolveURL):
1247         (WebInspector.DOMDocument):
1248
1249 2012-09-25  Peter Wang  <peter.wang@torchmobile.com.cn>
1250
1251         Web Inspector:  The JS code injected by worker inspector shouldn't be evaluated through JSMainThreadExecState
1252         https://bugs.webkit.org/show_bug.cgi?id=95341
1253
1254         Reviewed by Yury Semikhatsky.
1255
1256         Add extra code to "JSC::InjectedScriptManager" and "JSC::ScriptFunctionCall" to make sure the
1257         interfaces of JSMainThreadExecState are invoked only in main thread.
1258
1259         No new test case for this bug. Without this patch, opening worker inspector will meet failed assert statements.   
1260
1261         * bindings/js/JSInjectedScriptManager.cpp:
1262         (WebCore::InjectedScriptManager::createInjectedScript):
1263         * bindings/js/ScriptFunctionCall.cpp:
1264         (WebCore::ScriptFunctionCall::call):
1265
1266 2012-09-25  Andreas Kling  <kling@webkit.org>
1267
1268         CSSParserString: Avoid pointless String refcount churn in init().
1269         <http://webkit.org/b/94748>
1270
1271         Reviewed by Sam Weinig.
1272
1273         Have CSSParserString::init() take a const String& instead of a String.
1274
1275         * css/CSSParserValues.h:
1276         (WebCore::CSSParserString::init):
1277
1278 2012-09-25  Alexander Pavlov  <apavlov@chromium.org>
1279
1280         Web Inspector: [Styles] For group selectors, transmit their segments with the "matches" flag
1281         https://bugs.webkit.org/show_bug.cgi?id=96999
1282
1283         Reviewed by Pavel Feldman.
1284
1285         The CSSRule protocol object has been modified to include a SelectorList object that contains selector-related data.
1286         CSSAgent methods that return CSS rule matches will return RuleMatch objects that encapsulate matching CSSRules
1287         with indices of matching selectors on the associated selector list, so the additional backend roundtrips
1288         from StylesSidebarPane are no longer necessary.
1289
1290         * inspector/Inspector.json:
1291         * inspector/InspectorCSSAgent.cpp:
1292         (WebCore::InspectorCSSAgent::getMatchedStylesForNode):
1293         (WebCore::InspectorCSSAgent::buildObjectForRule):
1294         (WebCore):
1295         (WebCore::InspectorCSSAgent::buildArrayForRuleList):
1296         (WebCore::InspectorCSSAgent::buildArrayForMatchedRuleList):
1297         * inspector/InspectorCSSAgent.h:
1298         (InspectorCSSAgent):
1299         * inspector/InspectorStyleSheet.cpp:
1300         (WebCore::InspectorStyleSheet::buildObjectForSelectorList):
1301         (WebCore):
1302         (WebCore::InspectorStyleSheet::buildObjectForRule):
1303         * inspector/InspectorStyleSheet.h:
1304         (InspectorStyleSheet):
1305         * inspector/front-end/CSSStyleModel.js:
1306         (WebInspector.CSSStyleModel.parseRuleMatchArrayPayload):
1307         (WebInspector.CSSStyleModel.prototype.getMatchedStylesAsync):
1308         (WebInspector.CSSRule):
1309         (WebInspector.CSSRule.parsePayload):
1310         * inspector/front-end/StylesSidebarPane.js:
1311         (WebInspector.StylesSidebarPane.prototype._innerRebuildUpdate):
1312         (WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules):
1313         (WebInspector.StylePropertiesSection.prototype._markSelectorMatches):
1314         (WebInspector.StylePropertiesSection.prototype._moveEditorFromSelector):
1315         (WebInspector.StylePropertiesSection.prototype.editingSelectorCancelled):
1316
1317 2012-09-25  MORITA Hajime  <morrita@google.com>
1318
1319         adoptNode() shouldn't reset ownerDocument if the source node failed to remove itself
1320         https://bugs.webkit.org/show_bug.cgi?id=97527
1321
1322         Reviewed by Ryosuke Niwa.
1323
1324         Document::adoptNode() overlooked an error which can happen in Node::removeChild().
1325         Which results an assertion failure. This change adds an error check for that code path.
1326
1327         Test: fast/dom/adopt-node-prevented.html
1328
1329         * dom/Document.cpp:
1330         (WebCore::Document::adoptNode):
1331
1332 2012-09-21  Ilya Tikhonovsky  <loislo@chromium.org>
1333
1334         Web Inspector: extract Vector instrumentation from core NMI code into MemoryInstrumentationVector.h header.
1335         https://bugs.webkit.org/show_bug.cgi?id=96650
1336
1337         Reviewed by Vsevolod Vlasov.
1338
1339         addInstrumentedVector and addInstrumentedVectorPtr were replaced with addMember.
1340         The same thing happens with addVector and addVectorPtr.
1341
1342         * css/CSSGradientValue.cpp:
1343         (WebCore::CSSGradientValue::reportBaseClassMemoryUsage):
1344         * css/CSSImageSetValue.cpp:
1345         (WebCore::CSSImageSetValue::reportDescendantMemoryUsage):
1346         * css/CSSMediaRule.cpp:
1347         (WebCore::CSSMediaRule::reportDescendantMemoryUsage):
1348         * css/CSSRuleList.cpp:
1349         (WebCore::StaticCSSRuleList::reportMemoryUsage):
1350         * css/CSSStyleSheet.cpp:
1351         (WebCore::CSSStyleSheet::reportMemoryUsage):
1352         * css/CSSValueList.cpp:
1353         (WebCore::CSSValueList::reportDescendantMemoryUsage):
1354         * css/MediaList.cpp:
1355         (WebCore::MediaQuerySet::reportMemoryUsage):
1356         * css/MediaQuery.cpp:
1357         (WebCore::MediaQuery::reportMemoryUsage):
1358         * css/StyleResolver.cpp:
1359         (WebCore::StyleResolver::collectMatchingRulesForList):
1360         * css/StyleRule.cpp:
1361         (WebCore::StyleRuleBlock::reportDescendantMemoryUsage):
1362         * css/StyleSheetContents.cpp:
1363         (WebCore::StyleSheetContents::reportMemoryUsage):
1364         * css/WebKitCSSKeyframesRule.cpp:
1365         (WebCore::StyleRuleKeyframes::reportDescendantMemoryUsage):
1366         (WebCore::WebKitCSSKeyframesRule::reportDescendantMemoryUsage):
1367         * css/WebKitCSSRegionRule.cpp:
1368         (WebCore::WebKitCSSRegionRule::reportDescendantMemoryUsage):
1369         * dom/Document.cpp:
1370         (WebCore::Document::reportMemoryUsage):
1371         * loader/DocumentLoader.cpp:
1372         (WebCore::DocumentLoader::reportMemoryUsage):
1373         * platform/network/ResourceRequestBase.cpp:
1374         (WebCore::ResourceRequestBase::reportMemoryUsage):
1375
1376 2012-09-25  Vivek Galatage  <vivekgalatage@gmail.com>
1377
1378         REGRESSION(r129346): It broke !ENABLE(INSPECTOR) build
1379         https://bugs.webkit.org/show_bug.cgi?id=97490
1380
1381         Reviewed by Csaba Osztrogonác.
1382
1383         The dummy class implementation must be under the ENABLE(INSPECTOR)
1384         guard. Added them to prevent from braking the build with --minimal
1385         option for build-webkit
1386
1387         No new tests as caused by missing compile guard.
1388
1389         * testing/Internals.cpp:
1390         (WebCore):
1391
1392 2012-09-24  Bo Liu  <boliu@chromium.org>
1393
1394         Reland "Add in-place reload behavior to ImagesEnabled setting" with optimizations
1395         https://bugs.webkit.org/show_bug.cgi?id=97055
1396
1397         Reviewed by Adam Barth.
1398
1399         Relanding 128780, 128676, 128645. Was reverted in 128914 due to
1400         performance regression in Chromium.
1401
1402         New changes in addition to previously reverted patches:
1403
1404         Refactored CachedResource::requestResource, loadResource, and
1405         revalidateResource. Moved CachedResource::load method to end of
1406         requestResource so there is one place where load is called for all
1407         resources.
1408
1409         Added a enum parameter for requestResource and
1410         determineRevalidationPolicy so that FrameLoaderClient::allowImage call
1411         do not need to be called multiple times.
1412
1413         Removed CachedImage::load call in requestImage so it is not called
1414         twice.
1415
1416         Removed unnecessary Frame.h includes in CachedResource and
1417         CachedImage.
1418
1419         Removed dead load() method declaration in CachedImage.
1420
1421         Updated text expectation for two image-permissions tests to reflect
1422         the removed calls to allowImage.
1423
1424         Tests: fast/loader/display-image-unset-allows-cached-image-load.html
1425                fast/loader/display-image-unset-can-block-image-and-can-reload-in-place.html
1426                fast/loader/images-enabled-unset-can-block-image-and-can-reload-in-place.html
1427
1428         * WebCore.exp.in:
1429         * loader/FrameLoader.cpp:
1430         (WebCore::FrameLoader::didBeginDocument):
1431         * loader/SubresourceLoader.cpp:
1432         (WebCore::SubresourceLoader::willSendRequest):
1433         * loader/cache/CachedImage.cpp:
1434         * loader/cache/CachedImage.h:
1435         * loader/cache/CachedResource.cpp:
1436         (WebCore::CachedResource::didAddClient):
1437         * loader/cache/CachedResource.h:
1438         (WebCore):
1439         (WebCore::CachedResource::stillNeedsLoad):
1440         * loader/cache/CachedResourceLoader.cpp:
1441         (WebCore::CachedResourceLoader::CachedResourceLoader):
1442         (WebCore::CachedResourceLoader::requestImage):
1443         (WebCore::CachedResourceLoader::canRequest):
1444         (WebCore::CachedResourceLoader::requestResource):
1445         (WebCore::CachedResourceLoader::revalidateResource):
1446         (WebCore::CachedResourceLoader::loadResource):
1447         (WebCore::CachedResourceLoader::determineRevalidationPolicy):
1448         (WebCore::CachedResourceLoader::setAutoLoadImages):
1449         (WebCore):
1450         (WebCore::CachedResourceLoader::setImagesEnabled):
1451         (WebCore::CachedResourceLoader::clientDefersImage):
1452         (WebCore::CachedResourceLoader::shouldDeferImageLoad):
1453         (WebCore::CachedResourceLoader::reloadImagesIfNotDeferred):
1454         * loader/cache/CachedResourceLoader.h:
1455         (CachedResourceLoader):
1456         * page/Settings.cpp:
1457         (WebCore::setImageLoadingSettings):
1458         (WebCore::Settings::Settings):
1459         (WebCore::Settings::setLoadsImagesAutomatically):
1460         (WebCore::Settings::imageLoadingSettingsTimerFired):
1461         (WebCore::Settings::setImagesEnabled):
1462         * page/Settings.h:
1463         (Settings):
1464         * testing/InternalSettings.cpp:
1465         (WebCore::InternalSettings::Backup::Backup):
1466         (WebCore::InternalSettings::Backup::restoreTo):
1467         (WebCore::InternalSettings::setImagesEnabled):
1468         (WebCore):
1469         * testing/InternalSettings.h:
1470         (Backup):
1471         (InternalSettings):
1472         * testing/InternalSettings.idl:
1473
1474 2012-09-24  Filip Pizlo  <fpizlo@apple.com>
1475
1476         SerializedScriptValue isn't aware of indexed storage, but should be
1477         https://bugs.webkit.org/show_bug.cgi?id=97515
1478         <rdar://problem/12361874>
1479
1480         Reviewed by Sam Weinig.
1481
1482         New test: fast/js/post-message-numeric-property.html
1483
1484         * bindings/js/SerializedScriptValue.cpp:
1485         (WebCore::CloneDeserializer::putProperty):
1486
1487 2012-09-24  Gavin Barraclough  <barraclough@apple.com>
1488
1489         Remove JSObject::unwrappedGlobalObject(), JSObject::unwrappedObject()
1490         https://bugs.webkit.org/show_bug.cgi?id=97519
1491
1492         Reviewed by Geoff Garen.
1493
1494         JSDOMWindowShell::setWindow should update the structure's globalObject.
1495
1496         * bindings/js/JSDOMWindowShell.h:
1497         (WebCore::JSDOMWindowShell::setWindow):
1498             - Update the JSDOMWindowShell's structure's globalObject when the
1499               window changes.
1500
1501 2012-09-24  Yoshifumi Inoue  <yosin@chromium.org>
1502
1503         [Forms] We should remove DateTimeEditElement::valueAsDouble()
1504         https://bugs.webkit.org/show_bug.cgi?id=97327
1505
1506         Reviewed by Kent Tamura.
1507
1508         This patch removes unused function DateTimeEditElement::valueAsDouble()
1509         and related functions in DateTimeFieldElement.
1510
1511         This patch affects ports which enable both ENABLE_INPUT_TYPE_TIME and
1512         ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS.
1513
1514         No new tests. This patch doesn't change behavior.
1515
1516         * html/shadow/DateTimeEditElement.cpp: Removed valueAsDouble() implementation.
1517         * html/shadow/DateTimeEditElement.h: Removed valueAsDouble() declaration.
1518         (DateTimeEditElement):
1519         * html/shadow/DateTimeFieldElement.cpp: Removed valueAsDouble() implementation.
1520         * html/shadow/DateTimeFieldElement.h: Removed unitInMillisecond() and valueAsDouble() declarations.
1521         (DateTimeFieldElement):
1522         * html/shadow/DateTimeFieldElements.cpp: Removed unitInMillisecond() implementations.
1523         * html/shadow/DateTimeFieldElements.h:
1524         (DateTimeAMPMFieldElement): Removed unitInMillisecond() declaration.
1525         (DateTimeHourFieldElement): ditto.
1526         (DateTimeMillisecondFieldElement): ditto.
1527         (DateTimeMinuteFieldElement): ditto.
1528         (DateTimeSecondFieldElement): ditto.
1529
1530 2012-09-24  Antti Koivisto  <antti@apple.com>
1531
1532         Don't use StyleSheetList internally.
1533         https://bugs.webkit.org/show_bug.cgi?id=97504
1534
1535         Reviewed by Ryosuke Niwa.
1536
1537         StyleSheetList is a DOM type and should not be used internally. Use plain Vector instead and construct StyleSheetList on DOM access only.
1538
1539         * css/StyleResolver.cpp:
1540         (WebCore::StyleResolver::StyleResolver):
1541         (WebCore::StyleResolver::addStylesheetsFromSeamlessParents):
1542         (WebCore::StyleResolver::collectMatchingRulesForList):
1543         * css/StyleSheetList.cpp:
1544         (WebCore::StyleSheetList::StyleSheetList):
1545         (WebCore::StyleSheetList::styleSheets):
1546         (WebCore):
1547         (WebCore::StyleSheetList::detachFromDocument):
1548         
1549             Use live stylesheet vector of the documents stylesheet collection as long as we are attached to a document. 
1550             When detached copy the stylesheet vector to a member field and use that instead.
1551
1552         (WebCore::StyleSheetList::length):
1553         (WebCore::StyleSheetList::item):
1554         (WebCore::StyleSheetList::getNamedItem):
1555         * css/StyleSheetList.h:
1556         
1557             Removed StyleSheetVector typedef as Vector<RefPtr<StyleSheet> > is less opaque and not much longer.
1558     
1559         (WebCore):
1560         (WebCore::StyleSheetList::create):
1561         (StyleSheetList):
1562         (WebCore::StyleSheetList::document):
1563         * dom/Document.cpp:
1564         (WebCore::Document::~Document):
1565         (WebCore::Document::setCompatibilityMode):
1566         (WebCore::Document::styleSheets):
1567         * dom/Document.h:
1568         (Document):
1569         * dom/DocumentStyleSheetCollection.cpp:
1570         (WebCore::DocumentStyleSheetCollection::DocumentStyleSheetCollection):
1571         (WebCore::DocumentStyleSheetCollection::~DocumentStyleSheetCollection):
1572         (WebCore::DocumentStyleSheetCollection::analyzeStyleSheetChange):
1573         (WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets):
1574         * dom/DocumentStyleSheetCollection.h:
1575         (WebCore::DocumentStyleSheetCollec
1576
1577 2012-09-24  Laszlo Gombos  <l.gombos@samsung.com>
1578
1579         [GTK][EFL] Remove cairo prefix from include statements 
1580         https://bugs.webkit.org/show_bug.cgi?id=97509
1581
1582         Reviewed by Gyuyoung Kim.
1583
1584         Make the build system consistent by always assuming that directory
1585         that includes the cairo headers is included in the include path.
1586
1587         No new tests as there is no new functionality.
1588
1589         * platform/cairo/WidgetBackingStoreCairo.cpp:
1590         * platform/gtk/GtkWidgetBackingStoreX11.cpp:
1591         * plugins/gtk/PluginViewGtk.cpp:
1592
1593 2012-09-24  Yoshifumi Inoue  <yosin@chromium.org>
1594
1595         Document::adoptNode for multiple fields time input UI should not crash
1596         https://bugs.webkit.org/show_bug.cgi?id=97428
1597
1598         Reviewed by Dimitri Glazkov.
1599
1600         This patch changes Document::removeFocusedNodeOfSubtree() to check
1601         focused node in shadow DOM tree for avoiding Document::m_focusedNode
1602         not to have dangling pointer to field owner in DateTimeFieldElement.
1603
1604         Test:
1605          - fast/dom/shadow/shadow-removechild-and-blur-event.html: test for removeChild dispatches blur event.
1606          - fast/forms/time-multiple-fields/time-multiple-fields-crash-after-adoptnode.html: test for adoptNode not to crash.
1607          - fast/forms/time-multiple-fields/time-multiple-fields-state-change-on-focus-or-blur.html: removeChild of input type "time" dispatches blur event, existing test.
1608
1609         * dom/Document.cpp:
1610         (WebCore::Document::removeFocusedNodeOfSubtree): Changed to check
1611         focused node in shadow DOM tree in addition to descendant node.
1612
1613 2012-09-24  Robin Cao  <robin.cao@torchmobile.com.cn>
1614
1615         [Blackberry] Add a software rendering path for media player
1616         https://bugs.webkit.org/show_bug.cgi?id=97443
1617
1618         Reviewed by Yong Li.
1619
1620         This patch adds a software rendering path for media player. When accelerated rendering
1621         is not supported by the media engine for the current media, the rendering will fallback
1622         to this software path.
1623
1624         PR #212386
1625         Reviewed internally by Max Feil.
1626
1627         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
1628         (WebCore::MediaPlayerPrivate::paint):
1629         (WebCore::MediaPlayerPrivate::updateStates):
1630         (WebCore::MediaPlayerPrivate::supportsAcceleratedRendering):
1631         (WebCore):
1632         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h:
1633         (MediaPlayerPrivate):
1634
1635 2012-09-24  Benjamin Poulain  <bpoulain@apple.com>
1636
1637         Fix Geolocation error reporting in the test support
1638         https://bugs.webkit.org/show_bug.cgi?id=97386
1639
1640         Reviewed by Sam Weinig.
1641
1642         GeolocationController currently expose GeolocationError which can be either
1643         PermissionDenied or PositionUnavailable.
1644
1645         In practice, only PositionUnavailable is supported and tested, only Chrome
1646         somewhat expose PermissionDenied.
1647         The correct way to deny the permission is through Geolocation::setIsAllowed().
1648
1649         This patch does some of the initial cleanup toward that goal, reducing how
1650         far GeolocationError is spread.
1651
1652         * WebCore.exp.in:
1653         * WebCore.xcodeproj/project.pbxproj:
1654         Mac does not use GeolocationClientMock, it should not be compiled in WebCore.
1655
1656         * platform/mock/GeolocationClientMock.cpp:
1657         (WebCore::GeolocationClientMock::GeolocationClientMock):
1658         (WebCore::GeolocationClientMock::setPosition):
1659         (WebCore::GeolocationClientMock::setPositionUnavailableError):
1660         This method replace setError(). It is limited to PositionUnavailable errors.
1661
1662         (WebCore::GeolocationClientMock::reset):
1663         (WebCore::GeolocationClientMock::controllerTimerFired):
1664         (WebCore):
1665         (WebCore::GeolocationClientMock::clearError):
1666         * platform/mock/GeolocationClientMock.h:
1667         (WebCore):
1668         (GeolocationClientMock):
1669
1670 2012-09-24  Kent Tamura  <tkent@chromium.org>
1671
1672         [Chromium] Implement ValidationMessageClient for Chromium
1673         https://bugs.webkit.org/show_bug.cgi?id=97167
1674
1675         Reviewed by Hajime Morita.
1676
1677         * page/ValidationMessageClient.h:
1678         Add forward declaration for WTF::String.
1679
1680 2012-09-24  Yoshifumi Inoue  <yosin@chromium.org>
1681
1682         [Forms] DateTimeEditElement should return string value for ease of implementing other date/time input types.
1683         https://bugs.webkit.org/show_bug.cgi?id=97303
1684
1685         Reviewed by Kent Tamura.
1686
1687         This patch introduces a function DateTimeEditElement::value() for
1688         setting internal text value of TimeInputType with new function
1689         EditControlOwner::formatDateTimeFieldsState() to utilize this protocl
1690         in other date time input types.
1691
1692         We used DateTimeEditElement::valueAsDouble() and and BaseDateAndTimeInputType::serialize()
1693         to make string value then setting internal text value of multiple
1694         fields time input UI. Although, this steps doesn't work well for
1695         other date/time input types.
1696
1697         This patch affects ports which enable both ENABLE_INPUT_TYPE_TIME and
1698         ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS.
1699
1700         No new tests. This patch doesn't change behavior.
1701
1702         * html/DateTimeFieldsState.cpp:
1703         (WebCore::DateTimeFieldsState::hour23): Added to convert 1 to 12 hour value to 0 to 23 hour.
1704         * html/DateTimeFieldsState.h:
1705         (DateTimeFieldsState): Added declaration of hour23().
1706         * html/TimeInputType.cpp:
1707         (WebCore::TimeInputType::DateTimeEditControlOwnerImpl::editControlValueChanged): Changed to use DateTimeEditElement::value() instead of DateTimeEditElement::valueAsDouble().
1708         (WebCore::TimeInputType::DateTimeEditControlOwnerImpl::formatDateTimeFieldsState): Added to format time.
1709         (WebCore::TimeInputType::restoreFormControlState): Changed to use DateTimeEditElement::value() instead of DateTimeEditElement::valueAsDouble().
1710         * html/TimeInputType.h:
1711         (DateTimeEditControlOwnerImpl): Added a declaration of formatDateTimeFieldsState().
1712         * html/shadow/DateTimeEditElement.cpp:
1713         (WebCore::DateTimeEditElement::value): Added.
1714         * html/shadow/DateTimeEditElement.h:
1715         (EditControlOwner): Added a declaration of formatDateTimeFieldsState().
1716         (DateTimeEditElement): Added a declaration of value().
1717
1718 2012-09-24  Dean Jackson  <dino@apple.com>
1719
1720         [WebGL] Intel Mac needs built-in function emulation
1721         https://bugs.webkit.org/show_bug.cgi?id=96140
1722
1723         Reviewed by Sam Weinig.
1724
1725         Temporarily turn on built-in function emulation for Intel GPUs
1726         on OS X. This is a work-around for a driver bug, and
1727         will be removed once the driver is updated:
1728         https://bugs.webkit.org/show_bug.cgi?id=97503
1729
1730         This can be tested using the Khronos WebGL conformance
1731         suite, in particular:
1732
1733         conformance/glsl/functions/glsl-function-dot.html
1734         conformance/glsl/functions/glsl-function-length.html
1735         conformance/glsl/functions/glsl-function-normalize.html
1736         conformance/glsl/functions/glsl-function-reflect.html
1737
1738         Note that the faceforward built-in will still cause
1739         problems on Intel GPUs, but this would require an unnecessary
1740         change in the ANGLE project (remember, we're going to
1741         remove this code once the driver is fixed).
1742
1743         * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
1744         (WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE):
1745             Temporarily add "Intel" to the list of GPUs we do translation
1746             for in the shader compiler.
1747
1748 2012-09-24  Peter Wang  <peter.wang@torchmobile.com.cn>
1749
1750         There is a mistake in InspectorProfilerAgent::enable(bool skipRecompile)
1751         https://bugs.webkit.org/show_bug.cgi?id=97450
1752
1753         Reviewed by Yury Semikhatsky.
1754
1755         The "InspectorProfilerAgent::enable()" should invokes "PageScriptDebugServer" in
1756         no-worker thread.
1757
1758         No new test case.
1759
1760         * inspector/InspectorProfilerAgent.cpp:
1761         (WebCore::PageProfilerAgent::recompileScript):
1762         (PageProfilerAgent):
1763         (WebCore::WorkerProfilerAgent::recompileScript):
1764         (WorkerProfilerAgent):
1765         (WebCore::InspectorProfilerAgent::disable):
1766         (WebCore::InspectorProfilerAgent::enable):
1767         * inspector/InspectorProfilerAgent.h:
1768         (InspectorProfilerAgent):
1769
1770 2012-09-24  Patrick Gansterer  <paroga@webkit.org>
1771
1772         Remove String::operator+=()
1773         https://bugs.webkit.org/show_bug.cgi?id=96172
1774
1775         Reviewed by Benjamin Poulain.
1776
1777         Replace the last usage with String::append() in Gtk.
1778
1779         * platform/gtk/GtkInputMethodFilter.cpp:
1780         (WebCore::GtkInputMethodFilter::handleCommit):
1781
1782 2012-09-24  Mark Pilgrim  <pilgrim@chromium.org>
1783
1784         [Chromium][Mac] Remove loadFont from PlatformSupport
1785         https://bugs.webkit.org/show_bug.cgi?id=97360
1786
1787         Reviewed by Adam Barth.
1788
1789         Part of a refactoring series. See tracking bug 82948.
1790
1791         * platform/chromium/PlatformSupport.h:
1792         (PlatformSupport):
1793         * platform/graphics/chromium/CrossProcessFontLoading.mm:
1794
1795 2012-09-24  Tony Chang  <tony@chromium.org>
1796
1797         Replace 2 uses of updateLogicalHeight with computeLogicalHeight
1798         https://bugs.webkit.org/show_bug.cgi?id=97486
1799
1800         Reviewed by Ojan Vafai.
1801
1802         More work for bug 96804.  This is just a refactoring.
1803
1804         No new tests, behavior should be the same as before.
1805
1806         * rendering/RenderFlowThread.cpp:
1807         (WebCore::RenderFlowThread::computeLogicalHeight):
1808         * rendering/RenderFlowThread.h:
1809         * rendering/RenderMultiColumnFlowThread.cpp:
1810         (WebCore::RenderMultiColumnFlowThread::computeLogicalHeight):
1811         (WebCore):
1812         * rendering/RenderMultiColumnFlowThread.h:
1813         (RenderMultiColumnFlowThread):
1814
1815 2012-09-21  Kenneth Russell  <kbr@google.com>
1816
1817         [V8] ArrayBuffer code should not pass a negative length to SetIndexedPropertiesToExternalArrayData()
1818         https://bugs.webkit.org/show_bug.cgi?id=96703
1819
1820         Reviewed by Adam Barth.
1821
1822         Check length arguments that may be passed to SetIndexedPropertiesToExternalArrayData.
1823
1824         No tests because it is not guaranteed that buffers this large can actually be allocated.
1825
1826         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
1827         (WebCore::wrapArrayBufferView):
1828         (WebCore::constructWebGLArrayWithArrayBufferArgument):
1829         (WebCore::constructWebGLArray):
1830
1831 2012-09-24  Antti Koivisto  <antti@apple.com>
1832
1833         Split stylesheet related code out from Document 
1834         https://bugs.webkit.org/show_bug.cgi?id=97353
1835
1836         Reviewed by Andreas Kling.
1837
1838         Document is big and unwieldy. The code related to tracking active stylesheets can be factored out.
1839         
1840         The patch moves stylesheet upkeep, collection and invalidation code from Document to a separate
1841         DocumentStyleSheetCollection class. There are no functional changes.
1842         
1843         The usesLinkRules stylesheet feature bit and the related code is removed as no one was using it.
1844
1845         * WebCore.xcodeproj/project.pbxproj:
1846         * css/SelectorChecker.cpp:
1847         (WebCore::SelectorChecker::checkOneSelector):
1848         * css/StyleResolver.cpp:
1849         (WebCore::StyleResolver::StyleResolver):
1850         (WebCore::StyleResolver::Features::Features):
1851         (WebCore::StyleResolver::Features::add):
1852         (WebCore::StyleResolver::Features::clear):
1853         (WebCore::StyleResolver::collectMatchingRulesForList):
1854         * css/StyleResolver.h:
1855         (WebCore::StyleResolver::usesBeforeAfterRules):
1856         (Features):
1857         * dom/Document.cpp:
1858         (WebCore::Document::Document):
1859         (WebCore::Document::~Document):
1860         (WebCore::Document::setCompatibilityMode):
1861         (WebCore::Document::recalcStyle):
1862         (WebCore):
1863         (WebCore::Document::createStyleResolver):
1864         (WebCore::Document::seamlessParentUpdatedStylesheets):
1865         (WebCore::Document::didRemoveAllPendingStylesheet):
1866         (WebCore::Document::processHttpEquiv):
1867         (WebCore::Document::styleSheets):
1868         (WebCore::Document::preferredStylesheetSet):
1869         (WebCore::Document::selectedStylesheetSet):
1870         (WebCore::Document::setSelectedStylesheetSet):
1871         (WebCore::Document::styleResolverChanged):
1872         (WebCore::Document::reportMemoryUsage):
1873         (WebCore::Document::haveStylesheetsLoaded):
1874         * dom/Document.h:
1875         (WebCore):
1876         (Document):
1877         (WebCore::Document::styleSheetCollection):
1878         (WebCore::Document::hasNodesWithPlaceholderStyle):
1879         (WebCore::Document::setNeedsNotifyRemoveAllPendingStylesheet):
1880         (WebCore::Document::inStyleRecalc):
1881         * dom/DocumentStyleSheetCollection.cpp: Added.
1882         (WebCore):
1883         (WebCore::DocumentStyleSheetCollection::DocumentStyleSheetCollection):
1884         (WebCore::DocumentStyleSheetCollection::~DocumentStyleSheetCollection):
1885         (WebCore::DocumentStyleSheetCollection::pageUserSheet):
1886         (WebCore::DocumentStyleSheetCollection::clearPageUserSheet):
1887         (WebCore::DocumentStyleSheetCollection::updatePageUserSheet):
1888         (WebCore::DocumentStyleSheetCollection::pageGroupUserSheets):
1889         (WebCore::DocumentStyleSheetCollection::clearPageGroupUserSheets):
1890         (WebCore::DocumentStyleSheetCollection::updatePageGroupUserSheets):
1891         (WebCore::DocumentStyleSheetCollection::addUserSheet):
1892         (WebCore::DocumentStyleSheetCollection::removePendingSheet):
1893         (WebCore::DocumentStyleSheetCollection::addStyleSheetCandidateNode):
1894         (WebCore::DocumentStyleSheetCollection::removeStyleSheetCandidateNode):
1895         (WebCore::DocumentStyleSheetCollection::collectActiveStyleSheets):
1896         (WebCore::DocumentStyleSheetCollection::testAddedStyleSheetRequiresStyleRecalc):
1897         (WebCore::DocumentStyleSheetCollection::analyzeStyleSheetChange):
1898         (WebCore::styleSheetsUseRemUnits):
1899         (WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets):
1900         (WebCore::DocumentStyleSheetCollection::combineCSSFeatureFlags):
1901         (WebCore::DocumentStyleSheetCollection::resetCSSFeatureFlags):
1902         (WebCore::DocumentStyleSheetCollection::reportMemoryUsage):
1903         * dom/DocumentStyleSheetCollection.h: Added.
1904         (WebCore):
1905         (DocumentStyleSheetCollection):
1906         (WebCore::DocumentStyleSheetCollection::authorStyleSheets):
1907         (WebCore::DocumentStyleSheetCollection::documentUserSheets):
1908         (WebCore::DocumentStyleSheetCollection::needsUpdateActiveStylesheetsOnStyleRecalc):
1909         (WebCore::DocumentStyleSheetCollection::preferredStylesheetSetName):
1910         (WebCore::DocumentStyleSheetCollection::selectedStylesheetSetName):
1911         (WebCore::DocumentStyleSheetCollection::setPreferredStylesheetSetName):
1912         (WebCore::DocumentStyleSheetCollection::setSelectedStylesheetSetName):
1913         (WebCore::DocumentStyleSheetCollection::addPendingSheet):
1914         (WebCore::DocumentStyleSheetCollection::hasPendingSheets):
1915         (WebCore::DocumentStyleSheetCollection::usesSiblingRules):
1916         (WebCore::DocumentStyleSheetCollection::setUsesSiblingRulesOverride):
1917         (WebCore::DocumentStyleSheetCollection::usesFirstLineRules):
1918         (WebCore::DocumentStyleSheetCollection::usesFirstLetterRules):
1919         (WebCore::DocumentStyleSheetCollection::setUsesFirstLetterRules):
1920         (WebCore::DocumentStyleSheetCollection::usesBeforeAfterRules):
1921         (WebCore::DocumentStyleSheetCollection::setUsesBeforeAfterRulesOverride):
1922         (WebCore::DocumentStyleSheetCollection::usesRemUnits):
1923         (WebCore::DocumentStyleSheetCollection::setUsesRemUnit):
1924         * dom/Element.cpp:
1925         (WebCore::Element::recalcStyle):
1926         * dom/ProcessingInstruction.cpp:
1927         (WebCore::ProcessingInstruction::~ProcessingInstruction):
1928         (WebCore::ProcessingInstruction::checkStyleSheet):
1929         (WebCore::ProcessingInstruction::sheetLoaded):
1930         (WebCore::ProcessingInstruction::insertedInto):
1931         (WebCore::ProcessingInstruction::removedFrom):
1932         * dom/StyleElement.cpp:
1933         (WebCore::StyleElement::insertedIntoDocument):
1934         (WebCore::StyleElement::removedFromDocument):
1935         (WebCore::StyleElement::clearDocumentData):
1936         (WebCore::StyleElement::createSheet):
1937         (WebCore::StyleElement::sheetLoaded):
1938         (WebCore::StyleElement::startLoadingDynamicSheet):
1939         * html/HTMLLinkElement.cpp:
1940         (WebCore::HTMLLinkElement::~HTMLLinkElement):
1941         (WebCore::HTMLLinkElement::insertedInto):
1942         (WebCore::HTMLLinkElement::removedFrom):
1943         (WebCore::HTMLLinkElement::addPendingSheet):
1944         (WebCore::HTMLLinkElement::removePendingSheet):
1945         * html/HTMLQuoteElement.cpp:
1946         (WebCore::HTMLQuoteElement::insertedInto):
1947         * html/HTMLViewSourceDocument.cpp:
1948         (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument):
1949         * mathml/MathMLMathElement.cpp:
1950         (WebCore::MathMLMathElement::insertedInto):
1951         * page/Page.cpp:
1952         (WebCore::Page::userStyleSheetLocationChanged):
1953         * page/PageGroup.cpp:
1954         (WebCore::PageGroup::resetUserStyleCacheInAllFrames):
1955         * rendering/RenderBR.cpp:
1956         (WebCore::RenderBR::lineHeight):
1957         * rendering/RenderBlock.cpp:
1958         (WebCore::RenderBlock::styleDidChange):
1959         (WebCore::RenderBlock::splitBlocks):
1960         (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
1961         (WebCore::RenderBlock::lineHeight):
1962         (WebCore::RenderBlock::updateFirstLetter):
1963         * rendering/RenderInline.cpp:
1964         (WebCore::RenderInline::styleDidChange):
1965         (WebCore::RenderInline::updateAlwaysCreateLineBoxes):
1966         (WebCore::RenderInline::addChildIgnoringContinuation):
1967         (WebCore::RenderInline::splitInlines):
1968         (WebCore::RenderInline::lineHeight):
1969         * rendering/RenderObject.cpp:
1970         (WebCore::RenderObject::uncachedFirstLineStyle):
1971         (WebCore::RenderObject::firstLineStyleSlowCase):
1972         * rendering/RenderObject.h:
1973         (WebCore::RenderObject::firstLineStyle):
1974         * rendering/RenderObjectChildList.cpp:
1975         (WebCore::RenderObjectChildList::updateBeforeAfterContent):
1976         * rendering/RenderTableRow.cpp:
1977         (WebCore::RenderTableRow::updateBeforeAndAfterContent):
1978         * rendering/RootInlineBox.cpp:
1979         (WebCore::RootInlineBox::verticalPositionForBox):
1980
1981 2012-09-24  Otto Derek Cheung  <otcheung@rim.com>
1982
1983         [BlackBerry] Reverting implementation for 407 error pages
1984         https://bugs.webkit.org/show_bug.cgi?id=97455
1985
1986         Reviewed by Rob Buis.
1987
1988         Revert "[BlackBerry] Reverting implementation for 407 error pages"
1989         This reverts commit fda0a1b6ac40c06c03bb6293b4a7d7353c3ca238.
1990
1991         This revert also reverts commit 0cffe01961fb80204138505bcec29a83818efb73
1992         due to dependency issues.
1993
1994         * PlatformBlackBerry.cmake:
1995         * platform/blackberry/AuthenticationChallengeManager.cpp: Removed.
1996         * platform/blackberry/AuthenticationChallengeManager.h:
1997         * platform/blackberry/PageClientBlackBerry.h:
1998         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
1999         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
2000         (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
2001         (WebCore::MediaPlayerPrivate::onAuthenticationNeeded):
2002         (WebCore::MediaPlayerPrivate::notifyChallengeResult):
2003         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h:
2004         (MediaPlayerPrivate):
2005         * platform/network/blackberry/NetworkJob.cpp:
2006         (WebCore::NetworkJob::NetworkJob):
2007         (WebCore::NetworkJob::handleNotifyStatusReceived):
2008         (WebCore::NetworkJob::notifyAuthReceived):
2009         (WebCore::NetworkJob::handleNotifyClose):
2010         (WebCore::NetworkJob::sendRequestWithCredentials):
2011         (WebCore::NetworkJob::notifyChallengeResult):
2012         * platform/network/blackberry/NetworkJob.h:
2013         (NetworkJob):
2014
2015 2012-09-24  Chris Rogers  <crogers@google.com>
2016
2017         [REGRESSION] Layout Test webaudio/biquad-getFrequencyResponse.html is failing
2018         https://bugs.webkit.org/show_bug.cgi?id=97439
2019
2020         Reviewed by Kenneth Russell.
2021
2022         Fixes uninitialized member variable.
2023
2024         This should fix flaky failing test: webaudio/biquad-getFrequencyResponse.html
2025
2026         * Modules/webaudio/BiquadProcessor.cpp:
2027         (WebCore::BiquadProcessor::BiquadProcessor):
2028
2029 2012-09-24  Tony Chang  <tony@chromium.org>
2030
2031         flex-grow should be 1 when omitted from flex shorthand
2032         https://bugs.webkit.org/show_bug.cgi?id=97480
2033
2034         Reviewed by Ojan Vafai.
2035
2036         We were using 0, based on an outdated version of the spec.
2037
2038         Tests: css3/flexbox/flex-property-parsing.html
2039                css3/flexbox/flex-algorithm.html: New test case.
2040
2041         * css/CSSParser.cpp:
2042         (WebCore::CSSParser::parseFlex):
2043
2044 2012-09-24  Benjamin Poulain  <benjamin@webkit.org>
2045
2046         Add support for query encoding to WTFURL
2047         https://bugs.webkit.org/show_bug.cgi?id=97422
2048
2049         Reviewed by Adam Barth.
2050
2051         Add the Charset conversion on WebCore side.
2052
2053         * platform/KURLWTFURL.cpp:
2054         (WebCore::KURL::KURL):
2055         (CharsetConverter):
2056         (WebCore::CharsetConverter::CharsetConverter):
2057         * platform/mac/KURLMac.mm:
2058         (WebCore::KURL::KURL):
2059
2060 2012-09-24  Benjamin Poulain  <benjamin@webkit.org>
2061
2062         Integrate most of GoogleURL in WTFURL
2063         https://bugs.webkit.org/show_bug.cgi?id=97405
2064
2065         Reviewed by Adam Barth.
2066
2067         Loosen KURLWTFURL to be able to run most tests in Debug.
2068
2069         * platform/KURLWTFURL.cpp:
2070         (WebCore::KURL::KURL):
2071         (WebCore::KURL::hasPort):
2072         (WebCore::KURL::user):
2073         (WebCore::KURL::pass):
2074         (WebCore::KURL::hasPath):
2075         (WebCore::KURL::path):
2076         (WebCore::KURL::query):
2077         (WebCore::KURL::fragmentIdentifier):
2078         (WebCore::KURL::fileSystemPath):
2079
2080 2012-09-24  Hans Muller  <hmuller@adobe.com>
2081
2082         [CSS Exclusions] ExclusionShape API should use logical coordinates for input/output
2083         https://bugs.webkit.org/show_bug.cgi?id=96156
2084
2085         Reviewed by Dirk Schulze.
2086
2087         Correct how ExclusionShapes deal with logical coordinates and enable
2088         shape-inside exclusion layout for vertical writing-modes.
2089
2090         BasicShape's are defined in physical cooordinates, incoming line and box
2091         dimensions are logical coordinates, and the ExclusionShape internals assume
2092         that lines are aligned with the Y axis. The createExclusionShape() method
2093         is responsible for converting the BasicShape to the internal coordinate
2094         system when the writing-mode is vertical. Similarly, the getInclude,ExcludedIntervals()
2095         methods are responsible for converting their logical line parameters to Y
2096         values in the internal coordinate system. The min,maxYForLogicalLine()
2097         methods do the conversion, based on the WritingMode the ExclusionShape
2098         was created with. The getInclude,ExcludedIntervals() methods return the
2099         logical left and right edges of line segments. No transformation is needed for this.
2100
2101         The ExclusionShape's internal coordinate system is essentially the
2102         "logical" one, except that top/bottom always map to Y, no matter what
2103         the writing-mode is.  This is just to simplify writing geometrical shape
2104         algorithms, notably the complex ones for polygons. The bug report includes a
2105         pair of diagrams that clarify how internal coordinates are related to logical
2106         and physical coordinates.
2107
2108         Test: fast/exclusions/shape-inside/shape-inside-vertical-text.html
2109
2110         * rendering/ExclusionRectangle.cpp:
2111         (WebCore::ExclusionRectangle::getExcludedIntervals): rename more accurately reflects return value
2112         (WebCore::ExclusionRectangle::getIncludedIntervals): rename for consistency with "excluded" version
2113         * rendering/ExclusionRectangle.h:
2114         * rendering/ExclusionShape.cpp:
2115         (WebCore):
2116         (WebCore::ExclusionShape::createExclusionShape):
2117         * rendering/ExclusionShape.h:
2118         (LineSegment):
2119         (WebCore::LineSegment::LineSegment): relocated from WrapShapeInfo.h
2120         (WebCore):
2121         (ExclusionShape):
2122         (WebCore::ExclusionShape::minYForLogicalLine):
2123         (WebCore::ExclusionShape::maxYForLogicalLine):
2124         (WebCore::ExclusionShape::internalToLogicalBoundingBox):
2125         * rendering/WrapShapeInfo.cpp:
2126         (WebCore::WrapShapeInfo::isWrapShapeInfoEnabledForRenderBlock):
2127         (WebCore::WrapShapeInfo::computeShapeSize): pass writingMode to createExclusionShape()
2128         (WebCore::WrapShapeInfo::computeSegmentsForLine): removed short-circuit for vertical writing-modes
2129         * rendering/WrapShapeInfo.h:
2130         (WebCore):
2131
2132 2012-09-24  Tony Chang  <tony@chromium.org>
2133
2134         Replace RenderMeter::updateLogicalHeight to RenderMeter::computeLogicalHeight
2135         https://bugs.webkit.org/show_bug.cgi?id=97475
2136
2137         Reviewed by Ojan Vafai.
2138
2139         Using RenderMeter::computeLogicalHeight is part of bug 96804.
2140         Also fix some code to be vertical writing mode aware. This doesn't actually cause
2141         a behavioral difference because we use percentage heights/widths which don't depend on
2142         updateLogicalWidth or computeLogicalHeight.  You can still see bugs if you try to set
2143         the min-width on a <meter> node in a vertical writing mode.
2144
2145         No new tests, no behavioral changes.
2146
2147         * rendering/RenderMeter.cpp:
2148         (WebCore::RenderMeter::updateLogicalWidth): Make vertical writing mode aware.
2149         (WebCore::RenderMeter::computeLogicalHeight): Switch from updateLogicalHeight and make vertical writing mode aware.
2150         * rendering/RenderMeter.h:
2151         (RenderMeter):
2152
2153 2012-09-24  Dimitri Glazkov  <dglazkov@chromium.org>
2154
2155         Remove unbaked support for :scope pseudo-class.
2156         https://bugs.webkit.org/show_bug.cgi?id=97467
2157
2158         Reviewed by Antti Koivisto.
2159
2160         It turns out, the Selectors 4 require ":scope" to match contextual reference element set, which would be the root node in querySelector:
2161         http://dev.w3.org/csswg/selectors4/#the-scope-pseudo
2162
2163         Right now, we simply make ":scope" equivalent to ":root", which is not correct. Let's remove the partial implementation until we have
2164         time/energy to fully implement it.
2165
2166         No new tests, removing half-baked feature.
2167
2168         * css/CSSSelector.cpp:
2169         (WebCore::CSSSelector::pseudoId): Removed all mentions of PseudoScope
2170         (WebCore::nameToPseudoTypeMap): Ditto.
2171         (WebCore::CSSSelector::extractPseudoType): Ditto.
2172         * css/CSSSelector.h: Ditto.
2173         * css/SelectorChecker.cpp:
2174         (WebCore::SelectorChecker::checkOneSelector): Ditto.
2175
2176 2012-09-24  Ryosuke Niwa  <rniwa@webkit.org>
2177
2178         suspend/resumeWidgetHierarchyUpdates should be a RAII object
2179         https://bugs.webkit.org/show_bug.cgi?id=96706
2180
2181         Reviewed by Simon Fraser.
2182
2183         Replaced suspendWidgetHierarchyUpdates and resumeWidgetHierarchyUpdates by WidgetHierarchyUpdatesSuspensionScope.
2184
2185         * WebCore.exp.in: Export new symbols.
2186         * dom/ContainerNode.cpp:
2187         (WebCore::ContainerNode::removeChild):
2188         (WebCore::ContainerNode::removeChildren):
2189         * dom/Document.cpp:
2190         (WebCore::Document::recalcStyle):
2191         * dom/Element.cpp:
2192         (WebCore::Element::attach):
2193         (WebCore::Element::detach):
2194         * page/mac/EventHandlerMac.mm:
2195         (WebCore::EventHandler::passMouseDownEventToWidget):
2196         * rendering/RenderWidget.cpp:
2197         (WebCore):
2198         (WebCore::WidgetHierarchyUpdatesSuspensionScope::widgetNewParentMap):
2199         (WebCore::WidgetHierarchyUpdatesSuspensionScope::moveWidgets):
2200         (WebCore::moveWidgetToParentSoon):
2201         * rendering/RenderWidget.h:
2202         (WidgetHierarchyUpdatesSuspensionScope):
2203         (WebCore::WidgetHierarchyUpdatesSuspensionScope::WidgetHierarchyUpdatesSuspensionScope):
2204         (WebCore::WidgetHierarchyUpdatesSuspensionScope::~WidgetHierarchyUpdatesSuspensionScope):
2205         (WebCore::WidgetHierarchyUpdatesSuspensionScope::isSuspended):
2206         (WebCore::WidgetHierarchyUpdatesSuspensionScope::scheduleWidgetToMove):
2207         (WebCore):
2208         (RenderWidget):
2209
2210 2012-09-24  Otto Derek Cheung  <otcheung@rim.com>
2211
2212         [BlackBerry] Reverting implementation for 407 error pages
2213         https://bugs.webkit.org/show_bug.cgi?id=97455
2214
2215         Reviewed by Rob Buis.
2216
2217         Revert "[BlackBerry] Show custom error page when 407 is received"
2218         This reverts commit e6d14529428fe47916fcb997528095b8acad2f2b.
2219
2220         * platform/network/blackberry/NetworkJob.cpp:
2221         (WebCore::NetworkJob::handleNotifyStatusReceived):
2222         (WebCore::NetworkJob::notifyAuthReceived):
2223         (WebCore::NetworkJob::sendRequestWithCredentials):
2224
2225 2012-09-24  Sheriff Bot  <webkit.review.bot@gmail.com>
2226
2227         Unreviewed, rolling out r129388.
2228         http://trac.webkit.org/changeset/129388
2229         https://bugs.webkit.org/show_bug.cgi?id=97477
2230
2231         Caused an assertion in a WebKit2 unit test (Requested by
2232         abarth on #webkit).
2233
2234         * WebCore.exp.in:
2235         * loader/FrameLoader.cpp:
2236         (WebCore::FrameLoader::didBeginDocument):
2237         * loader/SubresourceLoader.cpp:
2238         (WebCore::SubresourceLoader::willSendRequest):
2239         * loader/cache/CachedImage.cpp:
2240         * loader/cache/CachedImage.h:
2241         (WebCore::CachedImage::stillNeedsLoad):
2242         (CachedImage):
2243         * loader/cache/CachedResource.cpp:
2244         (WebCore::CachedResource::didAddClient):
2245         * loader/cache/CachedResource.h:
2246         (WebCore):
2247         * loader/cache/CachedResourceLoader.cpp:
2248         (WebCore::CachedResourceLoader::CachedResourceLoader):
2249         (WebCore::CachedResourceLoader::requestImage):
2250         (WebCore::CachedResourceLoader::canRequest):
2251         (WebCore::CachedResourceLoader::requestResource):
2252         (WebCore::CachedResourceLoader::revalidateResource):
2253         (WebCore::CachedResourceLoader::loadResource):
2254         (WebCore::CachedResourceLoader::determineRevalidationPolicy):
2255         (WebCore::CachedResourceLoader::setAutoLoadImages):
2256         * loader/cache/CachedResourceLoader.h:
2257         (CachedResourceLoader):
2258         * page/Settings.cpp:
2259         (WebCore::setLoadsImagesAutomaticallyInAllFrames):
2260         (WebCore::Settings::Settings):
2261         (WebCore::Settings::setLoadsImagesAutomatically):
2262         (WebCore::Settings::loadsImagesAutomaticallyTimerFired):
2263         (WebCore::Settings::setImagesEnabled):
2264         * page/Settings.h:
2265         (Settings):
2266         * testing/InternalSettings.cpp:
2267         (WebCore::InternalSettings::Backup::Backup):
2268         (WebCore::InternalSettings::Backup::restoreTo):
2269         * testing/InternalSettings.h:
2270         (Backup):
2271         (InternalSettings):
2272         * testing/InternalSettings.idl:
2273
2274 2012-09-24  Erik Arvidsson  <arv@chromium.org>
2275
2276         DOM4 remove method
2277         https://bugs.webkit.org/show_bug.cgi?id=73885
2278
2279         Reviewed by Ojan Vafai.
2280
2281         This adds the DOM 4 remove method.
2282         
2283         http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#dom-childnode-remove
2284         
2285         The remove method removes the node from its parent if it has a parent.
2286
2287         Tests: fast/dom/Comment/remove.html
2288                fast/dom/DocumentType/remove.html
2289                fast/dom/Element/remove.html
2290                fast/dom/Text/remove.html
2291
2292         * dom/CharacterData.idl:
2293         * dom/DocumentType.idl:
2294         * dom/Element.idl:
2295         * dom/Node.cpp:
2296         (WebCore::Node::remove): The spec says to do nothing if the node has no parent.
2297         * html/parser/HTMLTreeBuilder.cpp:
2298         (WebCore::HTMLTreeBuilder::processStartTagForInBody): Cleanup.
2299         * html/track/TextTrackCue.cpp:
2300         (WebCore::TextTrackCue::removeDisplayTree): No need to check parenNode twice.
2301
2302 2012-09-24  Tommy Widenflycht  <tommyw@google.com>
2303
2304         MediaStream API: Fix the incorrectly spelled RTCPeerConnection::onnegotiationneeded callback
2305         https://bugs.webkit.org/show_bug.cgi?id=97456
2306
2307         Reviewed by Adam Barth.
2308
2309         Renamed onnegotationneeded to onnegotiationneeded.
2310
2311         Existing test updated. 
2312
2313         * Modules/mediastream/RTCPeerConnection.cpp:
2314         (WebCore::RTCPeerConnection::negotiationNeeded):
2315         * Modules/mediastream/RTCPeerConnection.h:
2316         (RTCPeerConnection):
2317         * Modules/mediastream/RTCPeerConnection.idl:
2318         * dom/EventNames.h:
2319         (WebCore):
2320
2321 2012-09-24  Peter Beverloo  <peter@chromium.org>
2322
2323         Android's mock scrollbars shows up as a difference in layout test results
2324         https://bugs.webkit.org/show_bug.cgi?id=96382
2325
2326         Reviewed by Adam Barth.
2327
2328         Remove the exceptions made for layout tests in Android's scrollbar theme.
2329         This will make our actual scrollbars show up in layout test pixel results,
2330         bringing the tests closer to what we actually ship.
2331
2332         An important difference with other platforms is that scrollbars do not
2333         take any width on Android, they're rendered on top of the content. Therefore
2334         each test that has a visible scrollbar does not just need a new pixel
2335         result, but will also need a new text result. This will be handled as part
2336         of a larger rebaselining process.
2337
2338         Will be exercised by every layout test that has a scrollbar.
2339
2340         * platform/chromium/ScrollbarThemeChromiumAndroid.cpp:
2341         (WebCore::ScrollbarThemeChromiumAndroid::scrollbarThickness):
2342         (WebCore::ScrollbarThemeChromiumAndroid::usesOverlayScrollbars):
2343         (WebCore::ScrollbarThemeChromiumAndroid::hasThumb):
2344         * platform/chromium/ScrollbarThemeChromiumAndroid.h:
2345         (ScrollbarThemeChromiumAndroid):
2346
2347 2012-09-24  Sean Wang  <Xuewen.Wang@torchmobile.com.cn>
2348
2349         [BlackBerry] Basic authentication challenge credentials for stored credentials again after restarting browser
2350         https://bugs.webkit.org/show_bug.cgi?id=96362
2351
2352         Reviewed by Rob Buis.
2353
2354         Fix a mistake of the commit 11fdc73c7c74bbd736ed4160248ff59636a01864
2355         Trunk has been changed during reviewing that patch.
2356
2357         No new tests, this is to correct a build error.
2358
2359         * platform/network/blackberry/CredentialBackingStore.cpp:
2360         (WebCore::CredentialBackingStore::getProtectionSpace):
2361
2362 2012-09-24  Dan Bernstein  <mitz@apple.com>
2363
2364         Reverted r129176, the fix for <http://webkit.org/b/97269>, because it introduced a
2365         discrepancy between line breaking and max width computation.
2366
2367         Rubber-stamped by Anders Carlsson.
2368
2369         * platform/graphics/mac/ComplexTextController.cpp:
2370         (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
2371
2372 2012-09-24  Bo Liu  <boliu@chromium.org>
2373
2374         Reland "Add in-place reload behavior to ImagesEnabled setting" with optimizations
2375         https://bugs.webkit.org/show_bug.cgi?id=97055
2376
2377         Reviewed by Adam Barth.
2378
2379         Relanding 128780, 128676, 128645. Was reverted in 128914 due to
2380         performance regression in Chromium.
2381
2382         New changes in addition to previously reverted patches:
2383
2384         Refactored CachedResource::requestResource, loadResource, and
2385         revalidateResource. Moved CachedResource::load method to end of
2386         requestResource so there is one place where load is called for all
2387         resources.
2388
2389         Added a enum parameter for requestResource and
2390         determineRevalidationPolicy so that FrameLoaderClient::allowImage call
2391         do not need to be called multiple times.
2392
2393         Removed CachedImage::load call in requestImage so it is not called
2394         twice.
2395
2396         Removed unnecessary Frame.h includes in CachedResource and
2397         CachedImage.
2398
2399         Removed dead load() method declaration in CachedImage.
2400
2401         Updated text expectation for two image-permissions tests to reflect
2402         the removed calls to allowImage.
2403
2404         Tests: fast/loader/display-image-unset-allows-cached-image-load.html
2405                fast/loader/display-image-unset-can-block-image-and-can-reload-in-place.html
2406                fast/loader/images-enabled-unset-can-block-image-and-can-reload-in-place.html
2407
2408         * WebCore.exp.in:
2409         * loader/FrameLoader.cpp:
2410         (WebCore::FrameLoader::didBeginDocument):
2411         * loader/SubresourceLoader.cpp:
2412         (WebCore::SubresourceLoader::willSendRequest):
2413         * loader/cache/CachedImage.cpp:
2414         * loader/cache/CachedImage.h:
2415         * loader/cache/CachedResource.cpp:
2416         (WebCore::CachedResource::didAddClient):
2417         * loader/cache/CachedResource.h:
2418         (WebCore):
2419         (WebCore::CachedResource::stillNeedsLoad):
2420         * loader/cache/CachedResourceLoader.cpp:
2421         (WebCore::CachedResourceLoader::CachedResourceLoader):
2422         (WebCore::CachedResourceLoader::requestImage):
2423         (WebCore::CachedResourceLoader::canRequest):
2424         (WebCore::CachedResourceLoader::requestResource):
2425         (WebCore::CachedResourceLoader::revalidateResource):
2426         (WebCore::CachedResourceLoader::loadResource):
2427         (WebCore::CachedResourceLoader::determineRevalidationPolicy):
2428         (WebCore::CachedResourceLoader::setAutoLoadImages):
2429         (WebCore):
2430         (WebCore::CachedResourceLoader::setImagesEnabled):
2431         (WebCore::CachedResourceLoader::clientDefersImage):
2432         (WebCore::CachedResourceLoader::shouldDeferImageLoad):
2433         (WebCore::CachedResourceLoader::reloadImagesIfNotDeferred):
2434         * loader/cache/CachedResourceLoader.h:
2435         (CachedResourceLoader):
2436         * page/Settings.cpp:
2437         (WebCore::setImageLoadingSettings):
2438         (WebCore::Settings::Settings):
2439         (WebCore::Settings::setLoadsImagesAutomatically):
2440         (WebCore::Settings::imageLoadingSettingsTimerFired):
2441         (WebCore::Settings::setImagesEnabled):
2442         * page/Settings.h:
2443         (Settings):
2444         * testing/InternalSettings.cpp:
2445         (WebCore::InternalSettings::Backup::Backup):
2446         (WebCore::InternalSettings::Backup::restoreTo):
2447         (WebCore::InternalSettings::setImagesEnabled):
2448         (WebCore):
2449         * testing/InternalSettings.h:
2450         (Backup):
2451         (InternalSettings):
2452         * testing/InternalSettings.idl:
2453
2454 2012-09-24  Joone Hur  <joone.hur@intel.com>, Gustavo Noronha Silva  <gustavo.noronha@collabora.com>
2455
2456         [GTK] Implement GraphicsLayer using Clutter
2457         https://bugs.webkit.org/show_bug.cgi?id=73767
2458
2459         Reviewed by Martin Robinson.
2460         
2461         This patch is needed for enabling Accelerated Compositing(Clutter backend) 
2462         with the patches submitted in bug 92045 and 91940.
2463         
2464         No new tests. This will be covered by pixel tests for Qt/GTK+ accelerated
2465         compositing and 3D transforms.
2466
2467         * GNUmakefile.list.am:
2468         * platform/clutter/GRefPtrClutter.cpp: Removed.
2469         * platform/clutter/GRefPtrClutter.h: Removed.
2470         * platform/graphics/clutter/PlatformClutterLayerClient.h: Added.
2471         (WebCore):
2472         (PlatformClutterLayerClient):
2473         (WebCore::PlatformClutterLayerClient::~PlatformClutterLayerClient):
2474         * platform/graphics/clutter/TransformationMatrixClutter.cpp: Added to convert CoglMatrix to 
2475         TransformationMatrix.
2476         (WebCore):
2477         (WebCore::TransformationMatrix::operator CoglMatrix):
2478         * platform/graphics/transforms/TransformationMatrix.h:
2479         (TransformationMatrix):
2480
2481 2012-09-24  David Grogan  <dgrogan@chromium.org>
2482
2483         Unprefix IndexedDB
2484         https://bugs.webkit.org/show_bug.cgi?id=96548
2485
2486         Reviewed by Adam Barth.
2487
2488         We are largely compatible with the FF implementation and the w3c test
2489         suite submitted by MS. The w3c test suite doesn't yet check
2490         for lack of prefix; this is mostly to signal to devs that we think our
2491         implementation is stable.
2492
2493         This patch uses the new FeatureObserver to get data about prefixed
2494         vs unprefixed usage.
2495
2496         Tests: storage/indexeddb/unprefix-workers.html
2497                storage/indexeddb/unprefix.html
2498
2499         * Modules/indexeddb/DOMWindowIndexedDatabase.cpp:
2500         (WebCore::DOMWindowIndexedDatabase::indexedDB):
2501         * Modules/indexeddb/DOMWindowIndexedDatabase.h:
2502         (DOMWindowIndexedDatabase):
2503         * Modules/indexeddb/DOMWindowIndexedDatabase.idl:
2504         * Modules/indexeddb/WorkerContextIndexedDatabase.cpp:
2505         (WebCore::WorkerContextIndexedDatabase::indexedDB):
2506         * Modules/indexeddb/WorkerContextIndexedDatabase.h:
2507         (WorkerContextIndexedDatabase):
2508         * Modules/indexeddb/WorkerContextIndexedDatabase.idl:
2509         * bindings/generic/RuntimeEnabledFeatures.h:
2510         Making the auxiliary objects RuntimeEnabled didn't make much sense as
2511         they are useless without the factory, so always enable them.
2512
2513         (WebCore::RuntimeEnabledFeatures::indexedDBEnabled):
2514         * bindings/scripts/CodeGeneratorGObject.pm:
2515         (SkipAttribute):
2516         * page/FeatureObserver.h:
2517
2518 2012-09-24  Andrey Adaikin  <aandrey@chromium.org>
2519
2520         Web Inspector: [WebGL] First step towards 2D canvas instrumentation in injected script
2521         https://bugs.webkit.org/show_bug.cgi?id=96746
2522
2523         Reviewed by Pavel Feldman.
2524
2525         First step towards the 2D canvas instrumentation from the WebGL injected script module side.
2526         We trace and save all calls that affect the 2D canvas context state and it's resources (Gradient and Pattern)
2527         so that we could replay the context and resources states later.
2528         The 2D canvas context state consists of:
2529         - current transformation matrix
2530         - current default path
2531         - current clipping region (affected by the "clip" command)
2532         - current values of the context attributes (like strokeStyle, fillStyle, etc.)
2533         - a stack of saved drawing states (affected by the "save" and "restore" commands)
2534
2535         * inspector/InjectedScriptCanvasModuleSource.js:
2536         (.):
2537
2538 2012-09-24  Andrey Adaikin  <aandrey@chromium.org>
2539
2540         Web Inspector: [TextEditor] conditional breakpoint popup not showing up the first time
2541         https://bugs.webkit.org/show_bug.cgi?id=97442
2542
2543         Reviewed by Pavel Feldman.
2544
2545         1) The conditional breakpoint popup may not show up the first time we click on the gutter.
2546         This was the case because the popup decoration element would be deleted from the line while
2547         it was being highlighted and appended afterwards. Now we do not remove decorations from the
2548         DOM while highlighting.
2549
2550         2) Also the popup will close itself on any mouse click event, even if it's targeted to the
2551         input box itself. This was due to pointer-events: none; CSS style for the parent element.
2552         Now we just override this style for the input box.
2553
2554         * inspector/front-end/DefaultTextEditor.js:
2555         (WebInspector.TextEditorMainPanel.prototype._paintLine):
2556         (WebInspector.TextEditorMainPanel.prototype._insertSpanBefore):
2557         (WebInspector.TextEditorMainPanel.prototype._insertTextNodeBefore):
2558         * inspector/front-end/inspector.css:
2559         (.source-frame-breakpoint-condition):
2560
2561 2012-09-24  Andrey Adaikin  <aandrey@chromium.org>
2562
2563         Web Inspector: [Canvas] set CanvasAgent in InstrumentingAgents upon calling enable command
2564         https://bugs.webkit.org/show_bug.cgi?id=97331
2565
2566         Reviewed by Yury Semikhatsky.
2567
2568         We should set CanvasAgent in InstrumentingAgents from enable() command and remove from disable(), instead of doing this in constructor and destructor.
2569
2570         * inspector/InspectorCanvasAgent.cpp:
2571         (WebCore::InspectorCanvasAgent::InspectorCanvasAgent):
2572         (WebCore::InspectorCanvasAgent::~InspectorCanvasAgent):
2573         (WebCore::InspectorCanvasAgent::restore):
2574         (WebCore::InspectorCanvasAgent::enable):
2575         (WebCore::InspectorCanvasAgent::disable):
2576         * inspector/InspectorCanvasAgent.h:
2577         (InspectorCanvasAgent):
2578         * inspector/InspectorCanvasInstrumentation.h:
2579         (WebCore::InspectorInstrumentation::wrapCanvas2DRenderingContextForInstrumentation):
2580         (WebCore::InspectorInstrumentation::wrapWebGLRenderingContextForInstrumentation):
2581
2582 2012-09-24  Patrick Gansterer  <paroga@webkit.org>
2583
2584         Remove remaining WTF_DEPRECATED_STRING_OPERATORS from cpp files
2585         https://bugs.webkit.org/show_bug.cgi?id=97412
2586
2587         Reviewed by Adam Barth.
2588
2589         * css/StylePropertySet.cpp: Removed useless define.
2590
2591 2012-09-20  Emil A Eklund  <eae@chromium.org>
2592
2593         snapToSize rounds the incorrectly for negative locations
2594         https://bugs.webkit.org/show_bug.cgi?id=97265
2595
2596         Reviewed by Eric Seidel.
2597
2598         Change snapSizeToPixel to preserve sign for location which
2599         affects rounding.
2600
2601         Test: fast/sub-pixel/snap-negative-location.html
2602
2603         * platform/FractionalLayoutUnit.h:
2604         (WebCore::snapSizeToPixel):
2605
2606 2012-09-24  Jonathan Liu  <net147@gmail.com>
2607
2608         Use unsigned char for bitfield instead of unsigned.
2609         https://bugs.webkit.org/show_bug.cgi?id=97447
2610
2611         Reviewed by Andreas Kling.
2612
2613         Not all compilers will pad an unsigned bitfield to the smallest size.
2614         Use unsigned char instead of unsigned to reduce padding for compilers
2615         that pad to the underlying type.
2616
2617         No new tests. There is already a compile-time assertion.
2618
2619         * css/CSSRule.cpp:
2620         (SameSizeAsCSSRule):
2621         * css/CSSRule.h:
2622         (CSSRule):
2623
2624 2012-09-24  Peter Rybin  <peter.rybin@gmail.com>
2625
2626         Web Inspector: don't allow exception in front-end when expanding function scope
2627         https://bugs.webkit.org/show_bug.cgi?id=97346
2628
2629         Reviewed by Yury Semikhatsky.
2630
2631         A missing guard condition is added.
2632
2633         * inspector/front-end/ObjectPropertiesSection.js:
2634         (WebInspector.FunctionScopeMainTreeElement.prototype.onpopulate.didGetDetails):
2635         (WebInspector.FunctionScopeMainTreeElement.prototype.onpopulate):
2636
2637 2012-09-24  Arvid Nilsson  <anilsson@rim.com>
2638
2639         [BlackBerry] Add cookie database API
2640         https://bugs.webkit.org/show_bug.cgi?id=97102
2641
2642         Reviewed by Antonio Gomes.
2643
2644         Add a CookieManager method that takes a list of strings to parse
2645         instead of just one string. Expose CookieParser::parseOneCookie.
2646
2647         Reviewed internally by Otto D. Cheung.
2648
2649         No change in behavior, no new tests.
2650
2651         * platform/blackberry/CookieManager.cpp:
2652         (WebCore::CookieManager::setCookies):
2653         (WebCore):
2654         * platform/blackberry/CookieManager.h:
2655         * platform/blackberry/CookieParser.cpp:
2656         (WebCore::CookieParser::parseOneCookie):
2657         (WebCore):
2658         * platform/blackberry/CookieParser.h:
2659         (CookieParser):
2660
2661 2012-09-24  Vsevolod Vlasov  <vsevik@chromium.org>
2662
2663         Web Inspector: Open resource dialog has too many false positive matches.
2664         https://bugs.webkit.org/show_bug.cgi?id=97332
2665
2666         Reviewed by Alexander Pavlov.
2667
2668         Improved open resource dialog filtering to make the amount of false
2669         positive search results less.
2670
2671         * inspector/front-end/FilteredItemSelectionDialog.js:
2672         (WebInspector.FilteredItemSelectionDialog.prototype._innerCreateSearchRegExp):
2673         (WebInspector.FilteredItemSelectionDialog.prototype._highlightItem.get var):
2674         (WebInspector.FilteredItemSelectionDialog.prototype._highlightItem):
2675
2676 2012-09-24  Andrey Adaikin  <aandrey@chromium.org>
2677
2678         Web Inspector: [Canvas] support 2D canvas instrumentation from the inspector C++ code
2679         https://bugs.webkit.org/show_bug.cgi?id=97203
2680
2681         Reviewed by Yury Semikhatsky.
2682
2683         Implements wrapping a 2D canvas context through the injected canvas module script facility.
2684
2685         * bindings/js/JSHTMLCanvasElementCustom.cpp:
2686         (WebCore::JSHTMLCanvasElement::getContext):
2687         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
2688         (WebCore::V8HTMLCanvasElement::getContextCallback):
2689         * inspector/InjectedScriptCanvasModule.cpp:
2690         (WebCore::InjectedScriptCanvasModule::wrapCanvas2DContext):
2691         (WebCore):
2692         (WebCore::InjectedScriptCanvasModule::wrapWebGLContext):
2693         (WebCore::InjectedScriptCanvasModule::callWrapContextFunction):
2694         * inspector/InjectedScriptCanvasModule.h:
2695         (InjectedScriptCanvasModule):
2696         * inspector/InspectorCanvasAgent.cpp:
2697         (WebCore::InspectorCanvasAgent::wrapCanvas2DRenderingContextForInstrumentation):
2698         (WebCore):
2699         * inspector/InspectorCanvasAgent.h:
2700         (InspectorCanvasAgent):
2701         * inspector/InspectorCanvasInstrumentation.h:
2702         (WebCore::InspectorInstrumentation::wrapCanvas2DRenderingContextForInstrumentation):
2703         (WebCore):
2704         * inspector/InspectorInstrumentation.h:
2705         (InspectorInstrumentation):
2706
2707 2012-09-24  Pavel Feldman  <pfeldman@chromium.org>
2708
2709         Web Inspector:EXC_BAD_ACCESS upon closing page with node highlighted
2710         https://bugs.webkit.org/show_bug.cgi?id=97446
2711
2712         Reviewed by Alexander Pavlov.
2713
2714         Added 0 check on frame view.
2715
2716         * inspector/InspectorOverlay.cpp:
2717         (WebCore::InspectorOverlay::update):
2718
2719 2012-09-21  Alexander Pavlov  <apavlov@chromium.org>
2720
2721         Web Inspector: [REGRESSION] Cmd-Shift-C doesn't enable element inspection mode when inspector hidden
2722         https://bugs.webkit.org/show_bug.cgi?id=97249
2723
2724         Reviewed by Yury Semikhatsky.
2725
2726         Fix regression from r125871.
2727
2728         * inspector/front-end/InspectorFrontendAPI.js:
2729         (InspectorFrontendAPI.enterInspectElementMode):
2730         * inspector/front-end/inspector.js:
2731         (WebInspector._createGlobalStatusBarItems):
2732         (WebInspector.documentKeyDown):
2733
2734 2012-09-24  Alexander Pavlov  <apavlov@chromium.org>
2735
2736         Web Inspector: Disable persistence of master switches in the "Overrides" settings tab
2737         https://bugs.webkit.org/show_bug.cgi?id=97440
2738
2739         Reviewed by Yury Semikhatsky.
2740
2741         Disables enforcement of device metrics, geolocation, and device orientation overrides on Web Inspector start.
2742
2743         * inspector/InspectorPageAgent.cpp:
2744         (WebCore::InspectorPageAgent::restore):
2745         * inspector/front-end/SettingsScreen.js:
2746         (WebInspector.UserAgentSettingsTab.prototype._onMetricsCheckboxClicked):
2747         (WebInspector.UserAgentSettingsTab.prototype._onGeolocationOverrideCheckboxClicked):
2748         (WebInspector.UserAgentSettingsTab.prototype._onDeviceOrientationOverrideCheckboxClicked):
2749         * inspector/front-end/UserAgentSupport.js:
2750         (WebInspector.UserAgentSupport):
2751         (WebInspector.UserAgentSupport.prototype.toggleDeviceMetricsOverride):
2752         (WebInspector.UserAgentSupport.prototype.toggleGeolocationPositionOverride):
2753         (WebInspector.UserAgentSupport.prototype.toggleDeviceOrientationOverride):
2754         * inspector/front-end/externs.js:
2755
2756 2012-09-24  Vivek Galatage  <vivekgalatage@gmail.com>
2757
2758         Web Inspector: implement testing harness for pure protocol tests.
2759         https://bugs.webkit.org/show_bug.cgi?id=90675
2760
2761         Reviewed by Yury Semikhatsky.
2762
2763         Implementing the testing harness as the APIs of Internals object not
2764         only reduced platform specific patching of DRTs but also minimized the
2765         the effort required to open up the new dummy inspector Frontend. 
2766         
2767         The openDummyInspectorFrontend method will return the handle to newly 
2768         created DOMWindow. This DOMWindow object can be utilized inside the test 
2769         case to communicate using postMessage WebAPI.
2770         
2771         The newly created DOMWindow will host the protocol-test.html which
2772         will seed the necessary JS libraries to communicate with the
2773         InspectorBackend.
2774
2775         Test: inspector-protocol/css-getSupportedCSSProperties.html
2776
2777         * WebCore.exp.in:
2778         * WebCore.gypi:
2779         * inspector/InspectorClient.h:
2780         (InspectorClient):
2781         * testing/Internals.cpp:
2782         (InspectorFrontendClientDummy):
2783         (WebCore::InspectorFrontendClientDummy::~InspectorFrontendClientDummy):
2784         (WebCore):
2785         (WebCore::InspectorFrontendClientDummy::InspectorFrontendClientDummy):
2786         (InspectorFrontendChannelDummy):
2787         (WebCore::InspectorFrontendChannelDummy::~InspectorFrontendChannelDummy):
2788         (WebCore::InspectorFrontendChannelDummy::InspectorFrontendChannelDummy):
2789         (WebCore::InspectorFrontendChannelDummy::sendMessageToFrontend):
2790         (WebCore::Internals::consoleMessageArgumentCounts):
2791         (WebCore::Internals::openDummyInspectorFrontend):
2792         (WebCore::Internals::closeDummyInspectorFrontend):
2793         * testing/Internals.h:
2794         (WebCore):
2795         (Internals):
2796         * testing/Internals.idl:
2797
2798 2012-09-24  Keishi Hattori  <keishi@webkit.org>
2799
2800         REGRESSION(r127727): Calendar picker focus doesn't loop in calendar-picker.html
2801         https://bugs.webkit.org/show_bug.cgi?id=97183
2802
2803         Reviewed by Kent Tamura.
2804
2805         Fixing bug calendar-picker.html. The page popup behaves fine because
2806         this code is only necessary in calendar-picker.html where the focus can
2807         move outside of the picker because we are just using an iframe.
2808
2809         No new tests. Added tests to calendar-picker-key-operations.html.
2810
2811         * Resources/pagepopups/calendarPicker.js:
2812         (YearMonthController.prototype.attachTo):
2813         (CalendarPicker.prototype._handleBodyKeyDown):
2814
2815 2012-09-24  Andrey Kosyakov  <caseq@chromium.org>
2816
2817         Unreviewed follow-up to r129336 -- fixed closure compiler warnings.
2818
2819         * inspector/front-end/HAREntry.js:
2820         * inspector/front-end/TimelineModel.js:
2821
2822 2012-09-24  Andrey Adaikin  <aandrey@chromium.org>
2823
2824         Web Inspector: [TextEditor] Line numbers out of sync after closing breakpoint condition editor
2825         https://bugs.webkit.org/show_bug.cgi?id=96510
2826
2827         Reviewed by Vsevolod Vlasov.
2828
2829         Sync line heights on adding/removing decorations.
2830
2831         * inspector/front-end/DefaultTextEditor.js:
2832         (WebInspector.TextEditorGutterChunk):
2833         (WebInspector.TextEditorGutterChunk.prototype.addDecoration):
2834         (WebInspector.TextEditorGutterChunk.prototype.removeDecoration):
2835         (WebInspector.TextEditorGutterChunk.prototype.set expanded):
2836         (WebInspector.TextEditorGutterChunk.prototype.get height):
2837         (WebInspector.TextEditorGutterChunk.prototype._createRow):
2838         (WebInspector.TextEditorMainChunk.prototype.addDecoration):
2839         (WebInspector.TextEditorMainChunk.prototype.removeDecoration):
2840         (WebInspector.TextEditorMainChunk.prototype.removeAllDecorations):
2841
2842 2012-09-21  Andrey Kosyakov  <caseq@chromium.org>
2843
2844         Web Inspector: support saving HAR with resources content
2845         https://bugs.webkit.org/show_bug.cgi?id=97341
2846
2847         Reviewed by Vsevolod Vlasov.
2848
2849         - add WebInspector.HARWriter that writes HAR with content to a stream;
2850         - replace Save all as HAR with Save all with Content as HAR in network's panel context menu;
2851         - remove entries for copying/saving of individual request items to reduce clutter in context menu;
2852         - a drive-by fix of an exception when invoking context menu not on a network item;
2853
2854         Test: http/tests/inspector/network/har-content.html
2855
2856         * English.lproj/localizedStrings.js:
2857         * inspector/front-end/FileUtils.js:
2858         * inspector/front-end/HAREntry.js:
2859         (WebInspector.HAREntry.prototype._buildPostData):
2860         (WebInspector.HARLog.prototype.build):
2861         (WebInspector.HARLog.prototype._creator):
2862         (WebInspector.HARWriter):
2863         (WebInspector.HARWriter.prototype.write):
2864         (WebInspector.HARWriter.prototype._onContentAvailable):
2865         (WebInspector.HARWriter.prototype._beginWrite):
2866         (WebInspector.HARWriter.prototype._writeNextChunk):
2867         * inspector/front-end/NetworkPanel.js:
2868         (WebInspector.NetworkLogView.prototype.get statusBarItems):
2869         (WebInspector.NetworkLogView.prototype._createStatusBarItems):
2870         (WebInspector.NetworkLogView.prototype._contextMenu):
2871         (WebInspector.NetworkLogView.prototype._exportAll.openCallback):
2872         (WebInspector.NetworkLogView.prototype._exportAll):
2873
2874 2012-09-24  Nico Weber  <thakis@chromium.org>
2875
2876         [chromium] Remove BitLockerSkia. It's apparently not used.
2877         https://bugs.webkit.org/show_bug.cgi?id=97434
2878
2879         Reviewed by Kent Tamura.
2880
2881         * platform/graphics/skia/BitLockerSkia.cpp: Removed.
2882         * platform/graphics/skia/BitLockerSkia.h: Removed.
2883
2884 2012-09-24  Matt Falkenhagen  <falken@chromium.org>
2885
2886         Skeleton implementation of dialog.showModal()
2887         https://bugs.webkit.org/show_bug.cgi?id=97425
2888
2889         Reviewed by Kent Tamura.
2890
2891         This adds a basic implementation of showModal(), so it later can be
2892         used to test the top layer, once it is implemented. The main features
2893         of showModal(), modality and the top layer, are not yet implemented.
2894
2895         Test: fast/dom/HTMLDialogElement/dialog-show-modal.html
2896
2897         * html/HTMLDialogElement.cpp:
2898         (WebCore::HTMLDialogElement::showModal): The same as show(), but throws an error in the cases specified in the spec.
2899         (WebCore):
2900         * html/HTMLDialogElement.h:
2901         (HTMLDialogElement):
2902         * html/HTMLDialogElement.idl:
2903
2904 2012-09-24  Ryuan Choi  <ryuan.choi@samsung.com>
2905
2906         [EFL] Regression after r129328
2907         https://bugs.webkit.org/show_bug.cgi?id=97429
2908
2909         Unreviewed, rolling out r129328.
2910
2911         * platform/efl/RenderThemeEfl.cpp:
2912         (WebCore::RenderTheme::themeForPage):
2913
2914 2012-09-23  Ryuan Choi  <ryuan.choi@samsung.com>
2915
2916         [EFL] Duplicated RenderThemeEfl creation for same page
2917         https://bugs.webkit.org/show_bug.cgi?id=88391
2918
2919         Reviewed by Gyuyoung Kim.
2920
2921         Other ports return one or two RenderTheme regardless of page.
2922         But, WebKit/Efl can create different theme for each page and
2923         themeForPage creates new RenderTheme whenever it is called with page.
2924         So more than one RenderTheme can be created for a page.
2925
2926         This patches checks whether page already has RenderTheme not to create new
2927         RenderTheme for same page.
2928
2929         * platform/efl/RenderThemeEfl.cpp:
2930         (WebCore::RenderTheme::themeForPage):
2931
2932 2012-09-23  Keishi Hattori  <keishi@webkit.org>
2933
2934         Add suggestionPicker to CalendarPicker
2935         https://bugs.webkit.org/show_bug.cgi?id=97201
2936
2937         Reviewed by Kent Tamura.
2938
2939         This adds the suggestionPicker to CalendarPicker. It is not available yet as a datalist UI but it can be used inside ManualTests/forms/calendar-picker.html.
2940
2941         No new tests. Suggestion Picker can be tested in ManualTests/forms/calendar-picker.html.
2942
2943         * Resources/pagepopups/calendarPicker.js:
2944         (initialize):
2945         (openSuggestionPicker):
2946         * Resources/pagepopups/pickerCommon.js:
2947         (enclosingNodeOrSelfWithClass):
2948         * Resources/pagepopups/suggestionPicker.css: Added.
2949         (.suggestion-list):
2950         (.suggestion-list-entry):
2951         (.suggestion-list-entry:focus):
2952         (.suggestion-list-entry:focus .label):
2953         (.suggestion-list-entry .content):
2954         (.suggestion-list-entry .title):
2955         (.suggestion-list-entry .label):
2956         (.measuring-width .suggestion-list-entry .label):
2957         (.suggestion-list .separator):
2958         * Resources/pagepopups/suggestionPicker.js: Added.
2959         (SuggestionPicker):
2960         (SuggestionPicker.validateConfig):
2961         (SuggestionPicker.prototype.cleanup):
2962         (SuggestionPicker.prototype._setColors): Creates css rules that sets highlight colors.
2963         (SuggestionPicker.prototype._createSuggestionEntryElement): Creates an entry that when selected submits the value.
2964         (SuggestionPicker.prototype._createActionEntryElement): Creates an entry that causes an action. (e.x. "Other...")
2965         (SuggestionPicker.prototype._measureMaxContentWidth): Temporarily left align everything to measure the width.
2966         (SuggestionPicker.prototype._fixWindowSize):
2967         (SuggestionPicker.prototype._layout):
2968         (SuggestionPicker.prototype.selectEntry):
2969         (SuggestionPicker.prototype._handleEntryClick):
2970         (SuggestionPicker.prototype._findFirstVisibleEntry):
2971         (SuggestionPicker.prototype._findLastVisibleEntry):
2972         (SuggestionPicker.prototype._handleBodyKeyDown):
2973         (SuggestionPicker.prototype._handleEntryMouseOver):
2974         (SuggestionPicker.prototype._handleMouseOut):
2975         * WebCore.gyp/WebCore.gyp:
2976
2977 2012-09-23  Andreas Kling  <kling@webkit.org>
2978
2979         REGRESSION(r128239): Mutable ElementAttributeData leak their Attribute vectors.
2980         <http://webkit.org/b/97423>
2981
2982         Reviewed by Anders Carlsson.
2983
2984         r128239 added a WTF::deleteOwnedPtr() override for ElementAttributeData*, but ElementAttributeData is
2985         a ref-counted object. Fixed this by overriding deref() instead to call the appropriate subclass destructor.
2986
2987         * dom/ElementAttributeData.h:
2988         (WebCore::ElementAttributeData::deref):
2989
2990 2012-09-23  Byungwoo Lee  <bw80.lee@gmail.com>
2991
2992         Fix build warnings : -Wunused-parameter, -Wparentheses, -Wuninitialized.
2993         https://bugs.webkit.org/show_bug.cgi?id=97306
2994
2995         Reviewed by Benjamin Poulain.
2996
2997         Fix build warning about -Wunused-parameter on ImageBufferCairo.cpp,
2998         ImageDecoder.h by using ASSERT_UNUSED() macro.
2999
3000         * platform/graphics/cairo/ImageBufferCairo.cpp:
3001         (WebCore::encodeImage):
3002         * platform/image-decoders/ImageDecoder.h:
3003         (WebCore::ImageDecoder::rgbColorProfile):
3004         (WebCore::ImageDecoder::inputDeviceColorProfile):
3005
3006 2012-09-23  Andreas Kling  <kling@webkit.org>
3007
3008         Enable ElementAttributeData sharing for non-HTML elements.
3009         <http://webkit.org/b/97413>
3010
3011         Reviewed by Anders Carlsson.
3012
3013         Use the whole qualified tag name when creating the ElementAttributeData cache key
3014         instead of just the localName(). This allows sharing and caching of attribute data
3015         for non-HTML elements and makes the code a little cleaner.
3016
3017         * dom/Element.cpp:
3018         (WebCore::Element::parserSetAttributes):
3019
3020             Enable the ElementAttributeData sharing path for non-HTML elements.
3021
3022         * dom/ElementAttributeData.h:
3023
3024             Make immutableAttributeArray() public so Document can call it instead of getting
3025             the raw data address from a const_cast'ed attributeItem(0).
3026
3027         * dom/Document.cpp:
3028         (WebCore::ImmutableAttributeDataCacheKey::ImmutableAttributeDataCacheKey):
3029         (WebCore::ImmutableAttributeDataCacheKey::operator!=):
3030         (WebCore::ImmutableAttributeDataCacheKey::hash):
3031         (ImmutableAttributeDataCacheKey):
3032         (WebCore::ImmutableAttributeDataCacheEntry::ImmutableAttributeDataCacheEntry):
3033         (ImmutableAttributeDataCacheEntry):
3034         (WebCore::Document::cachedImmutableAttributeData):
3035
3036             Let the immutable attribute data cache use a QualifiedName/attributes key
3037             instead of the AtomicString/attributes we were using before. We still grab the
3038             existingHash() from the QualifiedName::localName() and use that for the actual
3039             HashMap key.
3040
3041 2012-09-23  Mike West  <mkwst@chromium.org>
3042
3043         Measure the usage of the "X-WebKit-CSP" header in the hopes of dropping the prefix completely.
3044         https://bugs.webkit.org/show_bug.cgi?id=97408
3045
3046         Reviewed by Adam Barth.
3047
3048         We plan on landing the unprefixed header in webkit.org/b/96765 once the
3049         spec moves to CR. Though we plan to use it for experimentation in the
3050         near future, we'll want to drop the prefixed header completely at some
3051         point in the future. Starting to measure its usage now will give us a
3052         good baseline when we start contemplating that decision.
3053
3054         No new functionality, so no new tests.
3055
3056         * page/ContentSecurityPolicy.cpp:
3057         (WebCore::ContentSecurityPolicy::didReceiveHeader):
3058         * page/FeatureObserver.h:
3059
3060 2012-09-22  Dominic Mazzoni  <dmazzoni@google.com>
3061
3062         AX: Layout tests would be easier to write if AccessibilityController could find an element by id
3063         https://bugs.webkit.org/show_bug.cgi?id=97301
3064
3065         Reviewed by Chris Fleizach.
3066
3067         Add a method to get the DOM "id" attribute from an accessible object, only for layout tests.
3068
3069         Makes existing test more cross-platform:
3070         Tests: accessibility/aria-hidden-with-elements.html
3071
3072         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
3073         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
3074
3075 2012-09-22  Thierry Reding  <thierry.reding@avionic-design.de>
3076
3077         [GTK] Build is broken with GLib Unicode backend
3078         https://bugs.webkit.org/show_bug.cgi?id=97308.
3079
3080         Reviewed by Carlos Garcia Campos.
3081
3082         The TextBreakIteratorGtk implementation uses ubrk_close() to delete
3083         the iterator. However that function is ICU specific and not declared
3084         when using the GLib backend. Instead the iterator can simply be freed
3085         using the delete operator.
3086
3087         This commit is based on work by Martin Schlemmer who posted a fix for
3088         this here:
3089
3090             http://permalink.gmane.org/gmane.os.opendarwin.webkit.gtk/1210
3091
3092         No new tests.
3093
3094         * platform/text/gtk/TextBreakIteratorGtk.cpp:
3095         (WebCore::NonSharedCharacterBreakIterator::~NonSharedCharacterBreakIterator):
3096         Free iterator using delete instead of ubrk_close().
3097
3098 2012-09-21  Ami Fischman  <fischman@chromium.org>
3099
3100         HTMLMediaElement isn't garbage collected between document reloads
3101         https://bugs.webkit.org/show_bug.cgi?id=97020
3102
3103         Reviewed by Eric Carlson.
3104
3105         JS-created (as opposed to DOM-created) Audio nodes never got collected, because they
3106         appear to always hasPendingActivity(), because m_playing is never set to false.
3107
3108         Manual test added: ManualTests/audio-freed-during-reload.html
3109
3110         * html/HTMLMediaElement.cpp:
3111         (WebCore::HTMLMediaElement::stop): set m_playing = false; explicitly.
3112
3113 2012-09-21  Simon Fraser  <simon.fraser@apple.com>
3114
3115         RenderMarquee causes ASSERTION FAILED: enclosingIntRect(rendererMappedResult) == enclosingIntRect(FloatQuad(result).boundingBox()) : WebCore::FloatRect WebCore::RenderGeometryMap::absoluteRect(const WebCore::FloatRect &) const
3116         https://bugs.webkit.org/show_bug.cgi?id=92464
3117
3118         Reviewed by Sam Weinig.
3119
3120         Marquees could cause an updateCompositingLayersAfterScroll() to be called when
3121         we're in the middle of updating layer positions. updateCompositingLayersAfterScroll()
3122         does a full RenderLayer tree walk, but its use of RenderGeomeryMap reveals that
3123         it's using layers whose positions haven't been updated yet.
3124         
3125         Fix by avoiding the updateCompositingLayersAfterScroll() if we're in the process
3126         of updating a marquee when updating layer positions. We'll do a compositing update
3127         soon anyway.
3128
3129         Tested by fast/events/tabindex-focus-blur-all.html
3130
3131         * rendering/RenderLayer.cpp:
3132         (WebCore::RenderLayer::RenderLayer):
3133         (WebCore::RenderLayer::updateLayerPositions):
3134         (WebCore::RenderLayer::updateLayerPositionsAfterScroll):
3135         (WebCore::RenderLayer::scrollTo):
3136         * rendering/RenderLayer.h:
3137         (RenderLayer):
3138
3139 2012-09-21  Adam Klein  <adamk@chromium.org>
3140
3141         Remove bogus assertions from ChildListMutationScope
3142         https://bugs.webkit.org/show_bug.cgi?id=97372
3143
3144         Reviewed by Ryosuke Niwa.
3145
3146         Some asserts (and their accompanying comment) were trying to enforce
3147         proper usage of ChildListMutationScope from WebCore, but in the
3148         presence of MutationEvents they could fail due to arbitrary script
3149         execution.
3150
3151         This change gets rid of those asserts and adds tests exercising
3152         the (pre-existing) codepaths for handling these out-of-order cases.
3153         Without this patch, these tests ASSERT in debug builds.
3154
3155         Tests: fast/mutation/added-out-of-order.html
3156                fast/mutation/removed-out-of-order.html
3157
3158         * dom/ChildListMutationScope.cpp:
3159         (WebCore::ChildListMutationAccumulator::childAdded):
3160         (WebCore::ChildListMutationAccumulator::willRemoveChild):
3161         * dom/ChildListMutationScope.h:
3162         (WebCore):
3163
3164 2012-09-21  Dan Bernstein  <mitz@apple.com>
3165
3166         REGRESSION (r129176): Incorrect line breaking when kerning occurs between a space and the following character
3167         https://bugs.webkit.org/show_bug.cgi?id=97377
3168
3169         Reviewed by Enrica Casucci.
3170
3171         Test: fast/text/kerning-with-TextLayout.html
3172
3173         When kerning is enabled, the last character in a word may have its advance shortened because
3174         of its trailing space. To account for that, words are measured along with the trailing space,
3175         then the width of a space is subtracted from the result. This doesn’t work when the trailing
3176         space itself has its advance shortened due to the character following it, which can happen
3177         when using the TextLayout optimization. However, when the optimization is used, the advance
3178         of the last character of the word is already adjusted for the trailing space, so there is no
3179         need to measure with that space and subtract its advance.
3180
3181         * rendering/RenderBlockLineLayout.cpp:
3182         (WebCore::RenderBlock::LineBreaker::nextLineBreak): Changed to not use the trailingSpaceWidth
3183         mechanism when TextLayout is being used.
3184
3185 2012-09-21  Adam Klein  <adamk@chromium.org>
3186
3187         Simplify and optimize ChildListMutationScope
3188         https://bugs.webkit.org/show_bug.cgi?id=97352
3189
3190         Reviewed by Ryosuke Niwa.
3191
3192         ChildListMutationScope is one of the most complicated bits of
3193         MutationObserver implementation. This patch aims to simplify it for
3194         clarity and improve its performance (mostly by just doing less).
3195
3196         The big change is to remove the MutationAccumulatorRouter class,
3197         replacing it with lifetime-management logic in ChildListMutationAccumulator
3198         ChildListMutationScope is expected to call getOrCreate() in
3199         its constructor, and each scope holds a RefPtr to the accumulator.
3200         When the last scope holding such a RefPtr is destroyed,
3201         ChildListMutationAccumulator's destructor enqueues the accumulated record.
3202
3203         This greatly reduces the number of lines of code, and condenses
3204         two HashMaps into one. It also reduces hash lookups, which now
3205         occur only on scope creation and when the refcount for a given
3206         accumulator reaches 0 (previously, each childAdded and willRemoveChild
3207         call could result in two hash lookups each).
3208
3209         There are some minor changes as well: the ChildListMutationAccumulator::clear()
3210         method is gone, as it was doing more work than necessary;
3211         DEFINE_STATIC_LOCAL is now used instead of hand-rolled static-management
3212         code; ChildListMutationAccumulator::m_lastAdded is no longer a RefPtr, since it
3213         always points at a Node that's already being ref'd by the accumulator.
3214         Also various minor syntactic cleanups.
3215
3216         No new tests, no change in behavior.
3217
3218         * dom/ChildListMutationScope.cpp:
3219         (WebCore::accumulatorMap): Reduced two maps to one, and manage its lifetime with DEFINE_STATIC_LOCAL.
3220         (WebCore::ChildListMutationAccumulator::ChildListMutationAccumulator): Remove unnecessary call to clear() (which itself has been removed).
3221         (WebCore::ChildListMutationAccumulator::~ChildListMutationAccumulator): Enqueue record if not empty at destruction, and have the accumulator
3222         remove itself from the map.
3223         (WebCore::ChildListMutationAccumulator::getOrCreate): Replaces half of MutationAccumulatorRouter's job.
3224         (WebCore::ChildListMutationAccumulator::childAdded): Minor RefPtr usage improvements.
3225         (WebCore::ChildListMutationAccumulator::isRemovedNodeInOrder): Simplify RefPtr syntax.
3226         (WebCore::ChildListMutationAccumulator::willRemoveChild): Minor RefPtr usage improvements.
3227         (WebCore::ChildListMutationAccumulator::enqueueMutationRecord): Replace call to clear() with clearing m_lastAdded,
3228         since it's the only bit not cleared by the MutationRecord creation call. Also remove
3229         isEmpty check and replace with asserts now that it's a private method.
3230         (WebCore::ChildListMutationAccumulator::isEmpty): Added more assertions about emptiness.
3231         * dom/ChildListMutationScope.h:
3232         (WebCore):
3233         (ChildListMutationAccumulator): Extract the inner class to make everything easier to read.
3234         (WebCore::ChildListMutationScope::ChildListMutationScope): Store m_accumulator rather than m_target.
3235         (WebCore::ChildListMutationScope::~ChildListMutationScope): ditto
3236         (WebCore::ChildListMutationScope::childAdded): ditto
3237         (WebCore::ChildListMutationScope::willRemoveChild): ditto
3238         (ChildListMutationScope):
3239         * html/HTMLElement.cpp: Remove unused ChildListMutationScope.h #include.
3240
3241 2012-09-21  Chris Rogers  <crogers@google.com>
3242
3243         BiquadFilterNode must take audio-rate parameter changes into account
3244         https://bugs.webkit.org/show_bug.cgi?id=97369
3245
3246         Reviewed by Kenneth Russell.
3247
3248         BiquadFilterNode is currently ignoring any timeline or audio-rate changes to its parameters.
3249         We now check if any of its parameters have timeline or audio-rate changes and, if so, take
3250         them into account.  Otherwise, we use ordinary parameter smoothing/de-zippering which is
3251         the case when the parameters are adjusted, for example, from a knob or slider in the UI.
3252
3253         * Modules/webaudio/BiquadDSPKernel.cpp:
3254         (WebCore::BiquadDSPKernel::updateCoefficientsIfNecessary):
3255         * Modules/webaudio/BiquadProcessor.cpp:
3256         (WebCore::BiquadProcessor::checkForDirtyCoefficients):
3257         * Modules/webaudio/BiquadProcessor.h:
3258         (WebCore::BiquadProcessor::hasSampleAccurateValues):
3259         (BiquadProcessor):
3260
3261 2012-09-21  Brandon Jones  <bajones@google.com>
3262
3263         Add support for OES_vertex_array_object in chromium
3264         https://bugs.webkit.org/show_bug.cgi?id=96578
3265
3266         Reviewed by Kenneth Russell.
3267
3268         Adding basic reference counting to WebGLBuffer objects to satisfy spec requirements
3269         for the OES_vertex_array_object extension. Added code to allow calls to the
3270         OES_vertex_array_object extension to interface properly with the chromium WebGL
3271         implementation.
3272
3273         Test: fast/canvas/webgl/oes-vertex-array-object.html
3274
3275         * html/canvas/WebGLRenderingContext.cpp:
3276         (WebCore):
3277         (WebCore::WebGLRenderingContext::deleteBuffer):
3278         (WebCore::WebGLRenderingContext::vertexAttribPointer):
3279         * html/canvas/WebGLVertexArrayObjectOES.cpp:
3280         (WebCore::WebGLVertexArrayObjectOES::setElementArrayBuffer):
3281         (WebCore):
3282         * html/canvas/WebGLVertexArrayObjectOES.h:
3283         (WebGLVertexArrayObjectOES):
3284         (WebCore::WebGLVertexArrayObjectOES::getVertexAttribStateSize):
3285         * platform/chromium/support/Extensions3DChromium.cpp:
3286         (WebCore::Extensions3DChromium::createVertexArrayOES):
3287         (WebCore::Extensions3DChromium::deleteVertexArrayOES):
3288         (WebCore::Extensions3DChromium::isVertexArrayOES):
3289         (WebCore::Extensions3DChromium::bindVertexArrayOES):
3290
3291 2012-09-21  Kenichi Ishibashi  <bashi@chromium.org>
3292
3293         [Chromium] Use OpenTypeVerticalData on Linux
3294         https://bugs.webkit.org/show_bug.cgi?id=97277
3295
3296         Reviewed by Tony Chang.
3297
3298         Remove HarfBuzz dependency from GlyphPageTreeNodeSkia. Use OpenTypeVerticalData instead.
3299
3300         No new tests. Rebaselined existing tests.
3301
3302         * WebCore.gyp/WebCore.gyp: Added OpenTypeTypes.h and OpenTypeVerticalData.(cpp|h) for linux and android.
3303         * platform/graphics/FontCache.cpp:
3304         Inserted a space between > and > in typedef of FontVerticalDataCache so that making some compilers happy.
3305         (WebCore):
3306         * platform/graphics/SimpleFontData.h:
3307         (SimpleFontData): Moved declaration of m_verticalData to avoid compile warnings.
3308         * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp:
3309         (WebCore):
3310         (WebCore::FontPlatformData::verticalData): Added.
3311         (WebCore::FontPlatformData::openTypeTable): Added.
3312         * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.h:
3313         (WebCore):
3314         (FontPlatformData):
3315         * platform/graphics/skia/GlyphPageTreeNodeSkia.cpp: Removed substituteWithVerticalGlyphs().
3316         (WebCore::GlyphPage::fill):
3317
3318 2012-09-21  Jeremy Apthorp  <jeremya@chromium.org>
3319
3320         Crash in WebCore::Document::fullScreenChangeDelayTimerFired
3321         https://bugs.webkit.org/show_bug.cgi?id=97367
3322
3323         Reviewed by Abhishek Arya.
3324
3325         The document could be destroyed during the processing of the
3326         fullscreenchange event, if the document was destroyed as a result of
3327         one of the dispatchEvent calls.
3328
3329         This bug isn't reliably reproducible, so no new tests.
3330
3331         * dom/Document.cpp:
3332         (WebCore::Document::fullScreenChangeDelayTimerFired):
3333
3334 2012-09-21  Pratik Solanki  <psolanki@apple.com>
3335
3336         No need to pass order file for WebCoreTestSupport build
3337         https://bugs.webkit.org/show_bug.cgi?id=97363
3338
3339         Reviewed by David Kilzer.
3340
3341         No new tests because no functional change.
3342
3343         * Configurations/WebCoreTestSupport.xcconfig:
3344
3345 2012-09-21  Chris Rogers  <crogers@google.com>
3346
3347         Add Web Audio support for deprecated/legacy APIs
3348         https://bugs.webkit.org/show_bug.cgi?id=97050
3349
3350         Reviewed by Eric Carlson.
3351
3352         The Web Audio API specification has undergone much review and some small API changes
3353         have been made (mostly naming-related changes).  This patch adds an ENABLE_LEGACY_WEB_AUDIO
3354         build option to allow ports to support the old names.
3355
3356         Tests changed:
3357         audiobuffersource-playbackrate.html
3358         audiobuffersource.html
3359         note-grain-on-testing.js
3360         oscillator-testing.js
3361
3362         * Configurations/FeatureDefines.xcconfig:
3363         * GNUmakefile.features.am:
3364         * Modules/webaudio/AudioBufferSourceNode.cpp:
3365         (WebCore::AudioBufferSourceNode::startGrain):
3366         (WebCore):
3367         (WebCore::AudioBufferSourceNode::noteGrainOn):
3368         * Modules/webaudio/AudioBufferSourceNode.h:
3369         (AudioBufferSourceNode):
3370         * Modules/webaudio/AudioBufferSourceNode.idl:
3371         * Modules/webaudio/AudioScheduledSourceNode.cpp:
3372         (WebCore::AudioScheduledSourceNode::start):
3373         (WebCore::AudioScheduledSourceNode::stop):
3374         (WebCore):
3375         (WebCore::AudioScheduledSourceNode::noteOn):
3376         (WebCore::AudioScheduledSourceNode::noteOff):
3377         * Modules/webaudio/AudioScheduledSourceNode.h:
3378         * Modules/webaudio/Oscillator.idl:
3379         * page/FeatureObserver.h:
3380
3381 2012-09-21  Mark Pilgrim  <pilgrim@chromium.org>
3382
3383         [Chromium] remove getFontFamilyForCharacters from PlatformSupport
3384         https://bugs.webkit.org/show_bug.cgi?id=96282
3385
3386         Reviewed by Tony Chang.
3387
3388         Migrating away from PlatformSupport. getFontFamilyForCharacters is
3389         moved to FontCache.h and overridden by the two platforms that
3390         need it (Chromium Linux and Blackberry). New files for the overrides.
3391         Part of a larger refactoring series. See tracking bug 82948.
3392
3393         * PlatformBlackBerry.cmake:
3394         * WebCore.gypi:
3395         * platform/chromium/PlatformSupport.h:
3396         (PlatformSupport):
3397         * platform/graphics/FontCache.h:
3398         (SimpleFontFamily):
3399         (FontCache):
3400         * platform/graphics/blackberry/FontCacheBlackberry.cpp: Added.
3401         (WebCore):
3402         (WebCore::FontCache::getFontFamilyForCharacters):
3403         * platform/graphics/blackberry/skia/PlatformSupport.cpp:
3404         (WebCore):
3405         * platform/graphics/blackberry/skia/PlatformSupport.h:
3406         (PlatformSupport):
3407         * platform/graphics/chromium/FontCacheAndroid.cpp:
3408         (WebCore::FontCache::getFontDataForCharacters):
3409         * platform/graphics/chromium/FontCacheChromiumLinux.cpp: Added.
3410         (WebCore):
3411         (WebCore::FontCache::getFontFamilyForCharacters):
3412         * platform/graphics/skia/FontCacheSkia.cpp:
3413         (WebCore::FontCache::getFontDataForCharacters):
3414
3415 2012-09-21  Chris Fleizach  <cfleizach@apple.com>
3416
3417         AX: WebKit exposes incorrect bounds for embedded SVG in HTML
3418         https://bugs.webkit.org/show_bug.cgi?id=96168
3419
3420         Reviewed by Eric Seidel.
3421
3422         Override absoluteFocusRingQuads() for SVG objects because the default
3423         implementation relies on addFocusRingRects(). In addFocusRingRects(), SVG 
3424         objects adds local positions for its rects instead of absolute positions.
3425
3426         Test: accessibility/svg-bounds.html
3427
3428         * rendering/RenderObject.h:
3429         (RenderObject):
3430         * rendering/svg/RenderSVGModelObject.cpp:
3431         (WebCore):
3432         (WebCore::RenderSVGModelObject::absoluteFocusRingQuads):
3433         * rendering/svg/RenderSVGModelObject.h:
3434         (RenderSVGModelObject):
3435
3436 2012-09-21  Lianghui Chen  <liachen@rim.com>
3437
3438         [BlackBerry] Really fix bug 95488 that user can get the authentication challenge dialog while the other tab has focus.
3439         https://bugs.webkit.org/show_bug.cgi?id=97348
3440         Internal PR: 186597.
3441
3442         Internally reviewed by Yong Li, Joe Mason.
3443         Reviewed by Yong Li.
3444
3445         Add a singleton AuthenticationChallengeManager to manage authentication
3446         challenge dialog. It does following things:
3447         Record page creation/deletion, so it knows what page is present or not.
3448         Record page visibility change so it knows when to display a dialog or not.
3449         Accept authentication challenge, and decide whether to postpone the
3450             challenge dialog based on whether there is active authentication challenge
3451             dialog already and whether its page is visible or not.
3452         When a challenge result comes back, notify the result to all clients
3453             authenticating for the same protection space, and then start the next
3454             authentication challenge from the same page, if there is one.
3455         When a page becomes visible, start the first authentication challenge
3456             dialog that has been blocked before.
3457
3458         And to support this new AuthenticationChallengeManager, and making the
3459             challenge really asynchronous, NetworkJob has been updated to support
3460             the concept of "freeze", which means buffering all network loading status
3461             change but don't send them to NetworkJob clients.
3462         This is necessary when authentication challenge is asynchronous, as the
3463             previous network loading status will likely come before user make any
3464             decision.
3465
3466         No new tests for platform specific internal change.
3467
3468         * PlatformBlackBerry.cmake:
3469         * platform/blackberry/AuthenticationChallengeManager.cpp: Added.
3470         (WebCore):
3471         (ChallengeInfo):
3472         (WebCore::ChallengeInfo::ChallengeInfo):
3473         (AuthenticationChallengeManagerPrivate):
3474         (WebCore::AuthenticationChallengeManagerPrivate::AuthenticationChallengeManagerPrivate):
3475         (WebCore::AuthenticationChallengeManagerPrivate::resumeAuthenticationChallenge):
3476         (We