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