16e04c5e7c030945ed31087e58b0a5686e4999be
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-08-08  Simon Hausmann  <simon.hausmann@nokia.com>
2
3         [Qt] Port internal findMethodIndex method matcher to use JSC C API
4         https://bugs.webkit.org/show_bug.cgi?id=93463
5
6         Reviewed by Kenneth Rohde Christiansen.
7
8         Based on patch by No'am Rosenthal.
9
10         * bridge/qt/qt_runtime.cpp:
11         (JSC::Bindings::setException):
12         (Bindings):
13         (JSC::Bindings::findMethodIndex): Fixed also coding style while at it.
14         (JSC::Bindings::QtRuntimeMetaMethod::call): Use new findMethodIndex. The
15         created JSValueRefs should not need GC protection because we only support
16         up to 10 method arguments and thus they will live on the stack storage
17         of the vector.
18         * bridge/qt/qt_runtime.h:
19         (Bindings):
20
21 2012-08-08  Alexander Pavlov  <apavlov@chromium.org>
22
23         Web Inspector: move setTouchEventEmulationEnabled from DOMAgent to PageAgent
24         https://bugs.webkit.org/show_bug.cgi?id=93437
25
26         Reviewed by Pavel Feldman.
27
28         * inspector/Inspector.json:
29         * inspector/InspectorDOMAgent.cpp:
30         (WebCore::InspectorDOMAgent::clearFrontend):
31         (WebCore::InspectorDOMAgent::restore):
32         * inspector/InspectorDOMAgent.h:
33         (InspectorDOMAgent):
34         * inspector/InspectorPageAgent.cpp:
35         (PageAgentState):
36         (WebCore::InspectorPageAgent::clearFrontend):
37         (WebCore::InspectorPageAgent::restore):
38         (WebCore):
39         (WebCore::InspectorPageAgent::updateTouchEventEmulationInPage):
40         (WebCore::InspectorPageAgent::setTouchEmulationEnabled):
41         * inspector/InspectorPageAgent.h:
42         * inspector/front-end/DOMAgent.js:
43         (WebInspector.DOMAgent.prototype._emulateTouchEventsChanged):
44
45 2012-08-08  Alexis Menard  <alexis.menard@openbossa.org>
46
47         Unreviewed build fix for Qt on Linux.
48
49         * platform/qt/GamepadsQt.cpp:
50
51 2012-08-08  KwangYong Choi  <ky0.choi@samsung.com>
52
53         [EFL] Support DataList for <input type="range">
54         https://bugs.webkit.org/show_bug.cgi?id=92634
55
56         Reviewed by Kenneth Rohde Christiansen.
57
58         DataList theme for EFL is implemented. DataList feature of
59         <input type="range"> is supported.
60
61         Test: fast/forms/datalist/input-list.html
62
63         * platform/efl/RenderThemeEfl.cpp:
64         (WebCore::RenderThemeEfl::paintSliderTrack):
65         (WebCore::RenderThemeEfl::sliderTickSize):
66         (WebCore::RenderThemeEfl::sliderTickOffsetFromTrackCenter):
67         (WebCore::RenderThemeEfl::supportsDataListUI):
68         (WebCore):
69         * platform/efl/RenderThemeEfl.h:
70         (RenderThemeEfl):
71
72 2012-08-08  Sergey Rogulenko  <rogulenko@google.com>
73
74         Web Inspector: renaming DOMNodeHighlighter to InspectorOverlay
75         https://bugs.webkit.org/show_bug.cgi?id=93253
76
77         Reviewed by Pavel Feldman.
78
79         Renaming DOMNodeHighlighter to InspectorOverlay where necessary.
80
81         * CMakeLists.txt:
82         * GNUmakefile.list.am:
83         * Target.pri:
84         * WebCore.gypi:
85         * WebCore.vcproj/WebCore.vcproj:
86         * WebCore.xcodeproj/project.pbxproj:
87         * inspector/InspectorAllInOne.cpp:
88         * inspector/InspectorController.cpp:
89         * inspector/InspectorDOMAgent.cpp:
90         * inspector/InspectorDOMAgent.h:
91         * inspector/InspectorOverlay.cpp: Renamed from Source/WebCore/inspector/DOMNodeHighlighter.cpp.
92         (WebCore::InspectorOverlay::InspectorOverlay):
93         (WebCore):
94         (WebCore::InspectorOverlay::paint):
95         (WebCore::InspectorOverlay::drawOutline):
96         (WebCore::InspectorOverlay::getHighlight):
97         (WebCore::InspectorOverlay::setPausedInDebuggerMessage):
98         (WebCore::InspectorOverlay::hideHighlight):
99         (WebCore::InspectorOverlay::highlightNode):
100         (WebCore::InspectorOverlay::highlightRect):
101         (WebCore::InspectorOverlay::highlightedNode):
102         (WebCore::InspectorOverlay::update):
103         (WebCore::InspectorOverlay::drawNodeHighlight):
104         (WebCore::InspectorOverlay::drawRectHighlight):
105         (WebCore::InspectorOverlay::drawPausedInDebugger):
106         * inspector/InspectorOverlay.h: Renamed from Source/WebCore/inspector/DOMNodeHighlighter.h.
107         (WebCore):
108         (HighlightConfig):
109         (WebCore::Highlight::setColors):
110         (Highlight):
111         (InspectorOverlay):
112         (WebCore::InspectorOverlay::create):
113         * inspector/InspectorPageAgent.cpp:
114         * inspector/PageDebuggerAgent.cpp:
115         * page/GestureTapHighlighter.h:
116         * testing/Internals.cpp:
117
118 2012-08-08  Chris Guan  <chris.guan@torchmobile.com.cn>
119
120         [Blackberry] missing a Multipart header when m_multipartResponse is null
121         https://bugs.webkit.org/show_bug.cgi?id=93440
122
123         Reviewed by George Staikos.
124
125         when m_multipartResponse is null, we just created new one but not called 
126         setHTTPHeaderField. So we missed this received multipart Header. We should 
127         call setHTTPHeaderField for each reveived header.
128
129         No new tests, because those current multipart test cases (http/tests/multipart/*) 
130         are enough.
131
132         * platform/network/blackberry/NetworkJob.cpp:
133         (WebCore::NetworkJob::handleNotifyMultipartHeaderReceived):
134
135 2012-08-08  Mike West  <mkwst@chromium.org>
136
137         Refactor console logging out of CSPDirectiveList into ContentSecurityPolicy
138         https://bugs.webkit.org/show_bug.cgi?id=93205
139
140         Reviewed by Adam Barth.
141
142         We currently pass a protected resource's ScriptExecutionContext down
143         into CSPDirectiveList in order to log errors, grab the SecurityOrigin,
144         resolve relative URLs, and one or two other bits. This implementation
145         requires us to maintain state inside of low-level objects that shouldn't
146         really know about the ScriptExecutionContext, and makes logging errors
147         difficult, as CSPDirectiveList is the only piece of the puzzle that can
148         interact with the console.
149
150         This patch removes the dependence on ScriptExecutionContext, replacing
151         it with a pointer to the ContentSecurityPolicy object itself. The low-
152         level objects like CSPDirectiveList now make requests to the policy
153         object, which understands how to resolve them. This gives a cleaner
154         separation between the CSP implementation and the rest of WebCore, and
155         opens the door for future patches that teach the remaining low-level
156         objects about the policy in which they're contained in order to improve
157         error logging.
158
159         This should be a purely internal refactoring of the location from which
160         warnings are logged to the console. No new tests have been added; the
161         behavior should be covered by the existing CSP tests.
162
163         * page/ContentSecurityPolicy.cpp:
164         (CSPSourceList):
165         (WebCore::CSPSourceList::CSPSourceList):
166             Pass the policy object into CSPSourceList, rather than a pointer to
167             ScriptExecutionContext.
168         (WebCore::CSPSourceList::parse):
169         (WebCore::CSPSourceList::addSourceSelf):
170             Read the SecurityOrigin from the policy object, rather than from the
171             ScriptExecutionContext.
172         (WebCore::CSPDirective::CSPDirective):
173             Pass the policy object into CSPDirective, rather than a pointer to
174             ScriptExecutionContext. Use it to read the protected resource's
175             URL.
176         (CSPDirectiveList):
177         (WebCore::CSPDirectiveList::CSPDirectiveList):
178             Pass the policy object into CSPSourceList, rather than a pointer to
179             ScriptExecutionContext.
180         (WebCore::CSPDirectiveList::create):
181             Move the enforcement of eval restrictions out of CSPDirectiveList,
182             and into ContentSecurityPolicy::ContentSecurityPolicy.
183         (WebCore::CSPDirectiveList::reportViolation):
184             Move most of the logic out of this method, and into
185             ContentSecurityPolicy::reportViolation.
186         (WebCore::CSPDirectiveList::parseDirective):
187             Use the policy object for logging.
188         (WebCore::CSPDirectiveList::parseReportURI):
189             Use the policy object for logging, and URL completion.
190         (WebCore::CSPDirectiveList::parseScriptNonce):
191             Use the policy object for logging.
192         (WebCore::CSPDirectiveList::setCSPDirective):
193             Use the policy object for logging.
194         (WebCore::CSPDirectiveList::applySandboxPolicy):
195             Use the policy object for logging, and move enforcement to
196             ContentSecurityPolicy::enforceSandboxFlags.
197         (WebCore::CSPDirectiveList::addDirective):
198             Use the policy object for logging.
199         (WebCore::ContentSecurityPolicy::didReceiveHeader):
200             Pass the policy object to CSPDirectiveList, and disable eval if
201             necessary after parsing the policy.
202         (WebCore::ContentSecurityPolicy::securityOrigin):
203         (WebCore):
204         (WebCore::ContentSecurityPolicy::url):
205         (WebCore::ContentSecurityPolicy::completeURL):
206         (WebCore::ContentSecurityPolicy::enforceSandboxFlags):
207             Move the enforcement of the sandbox directive out of
208             CSPDirectiveList and into the policy object.
209         (WebCore::ContentSecurityPolicy::reportViolation):
210         (WebCore::ContentSecurityPolicy::reportUnrecognizedDirective):
211         (WebCore::ContentSecurityPolicy::reportDuplicateDirective):
212         (WebCore::ContentSecurityPolicy::reportInvalidNonce):
213             Move CSPDirectiveList::logXXX out to the policy object. The
214             directive list is now responsible for reporting errors and
215             violations; the policy decides what to do with them.
216         (WebCore::ContentSecurityPolicy::logToConsole):
217             Wrap the call to addConsoleMessage to make it simpler for the
218             various ContentSecurityPolicy::reportXXX methods.
219         * page/ContentSecurityPolicy.h:
220         (WebCore):
221
222 2012-08-08  Kentaro Hara  <haraken@chromium.org>
223
224         [V8] Rename V8Helpers to V8BindingHelpers
225         https://bugs.webkit.org/show_bug.cgi?id=93318
226
227         Reviewed by Eric Seidel.
228
229         For naming consistency, a file including binding utility methods
230         should be prefixed by "V8Binding". In a follow-up patch, I'll move
231         methods from V8Binding to V8BindingHelpers.
232
233         In addition this patch makes V8Binding.h include V8BindingHelpers.h,
234         and removes #include V8BindingHelpers.h from binding files.
235
236         No tests. No change in behavior.
237
238         * UseV8.cmake:
239         * WebCore.gypi:
240         * bindings/v8/NPV8Object.cpp:
241         * bindings/v8/V8BindingHelpers.cpp: Renamed from Source/WebCore/bindings/v8/V8Helpers.cpp.
242         (WebCore):
243         (WebCore::toV8Context):
244         (WebCore::toV8Proxy):
245         * bindings/v8/V8BindingHelpers.h: Renamed from Source/WebCore/bindings/v8/V8Helpers.h.
246         (WebCore):
247         * bindings/v8/V8NPObject.cpp:
248
249 2012-08-08  Kentaro Hara  <haraken@chromium.org>
250
251         'class WrapperTypeInfo' should be 'struct WrapperTypeInfo'
252
253         Unreviewed. Build fix for r125015.
254
255         * bindings/v8/V8BindingPerIsolateData.h:
256         (WebCore):
257
258 2012-08-08  Matt Arsenault  <arsenm2@gmail.com>
259
260         Crash when inspecting an element with border-image
261         https://bugs.webkit.org/show_bug.cgi?id=93380
262
263         Reviewed by Tim Horton.
264
265         The second value in the CSSPair should be the same as the first if
266         we are in a shorthand and the next value is not a
267         border-image-repeat keyword.
268
269         Test: fast/css/parse-border-image-repeat-null-crash.html
270
271         * css/CSSParser.cpp:
272         (WebCore::CSSParser::parseBorderImageRepeat):
273
274 2012-08-08  Kentaro Hara  <haraken@chromium.org>
275
276         [V8] Factor out V8BindingPerIsolateData from V8Binding to a separate file
277         https://bugs.webkit.org/show_bug.cgi?id=93333
278
279         Reviewed by Adam Barth.
280
281         This patch moves V8BindingPerIsolateData to V8BindingPerIsolateData.{h,cpp}.
282
283         To avoid circular #include dependency, I used OwnPtrs for m_stringCache,
284         m_integerCache, m_hiddenPropertyName and m_gcEventData.
285
286         No tests. No change in behavior.
287
288         * UseV8.cmake:
289         * WebCore.gypi:
290         * bindings/v8/ScriptGCEvent.cpp:
291         (WebCore::isolateGCEventData):
292         (WebCore::ScriptGCEvent::addEventListener):
293         (WebCore::ScriptGCEvent::removeEventListener):
294         (WebCore::ScriptGCEvent::gcPrologueCallback):
295         (WebCore::ScriptGCEvent::gcEpilogueCallback):
296         * bindings/v8/V8Binding.cpp:
297         * bindings/v8/V8Binding.h:
298         (GCEventData):
299         (WebCore):
300         * bindings/v8/V8BindingPerIsolateData.cpp: Added.
301         (WebCore):
302         (WebCore::V8BindingPerIsolateData::V8BindingPerIsolateData):
303         (WebCore::V8BindingPerIsolateData::~V8BindingPerIsolateData):
304         (WebCore::V8BindingPerIsolateData::create):
305         (WebCore::V8BindingPerIsolateData::ensureInitialized):
306         (WebCore::V8BindingPerIsolateData::dispose):
307         (WebCore::V8BindingPerIsolateData::reportMemoryUsage):
308         * bindings/v8/V8BindingPerIsolateData.h: Added.
309         (WebCore):
310         (V8BindingPerIsolateData):
311         (WebCore::V8BindingPerIsolateData::current):
312         (WebCore::V8BindingPerIsolateData::rawTemplateMap):
313         (WebCore::V8BindingPerIsolateData::templateMap):
314         (WebCore::V8BindingPerIsolateData::toStringName):
315         (WebCore::V8BindingPerIsolateData::toStringTemplate):
316         (WebCore::V8BindingPerIsolateData::lazyEventListenerToStringTemplate):
317         (WebCore::V8BindingPerIsolateData::stringCache):
318         (WebCore::V8BindingPerIsolateData::integerCache):
319         (WebCore::V8BindingPerIsolateData::allStores):
320         (WebCore::V8BindingPerIsolateData::hiddenPropertyName):
321         (WebCore::V8BindingPerIsolateData::auxiliaryContext):
322         (WebCore::V8BindingPerIsolateData::registerDOMDataStore):
323         (WebCore::V8BindingPerIsolateData::unregisterDOMDataStore):
324         (WebCore::V8BindingPerIsolateData::domDataStore):
325         (WebCore::V8BindingPerIsolateData::setDOMDataStore):
326         (WebCore::V8BindingPerIsolateData::recursionLevel):
327         (WebCore::V8BindingPerIsolateData::incrementRecursionLevel):
328         (WebCore::V8BindingPerIsolateData::decrementRecursionLevel):
329         (WebCore::V8BindingPerIsolateData::globalHandleMap):
330         (WebCore::V8BindingPerIsolateData::internalScriptRecursionLevel):
331         (WebCore::V8BindingPerIsolateData::incrementInternalScriptRecursionLevel):
332         (WebCore::V8BindingPerIsolateData::decrementInternalScriptRecursionLevel):
333         (WebCore::V8BindingPerIsolateData::gcEventData):
334         (WebCore::V8BindingPerIsolateData::setShouldCollectGarbageSoon):
335         (WebCore::V8BindingPerIsolateData::clearShouldCollectGarbageSoon):
336         (WebCore::V8BindingPerIsolateData::shouldCollectGarbageSoon):
337
338 2012-08-08  Pavel Feldman  <pfeldman@chromium.org>
339
340         Web Inspector: show whitespace nodes if they are the only tag's children.
341         https://bugs.webkit.org/show_bug.cgi?id=93441
342
343         Reviewed by Vsevolod Vlasov.
344
345         Pass whitespace node info into the front-end when it is the only element's child.
346
347         * inspector/InspectorDOMAgent.cpp:
348         (WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
349
350 2012-08-08  Kentaro Hara  <haraken@chromium.org>
351
352         [V8] Pass Isolate to ArrayValue and Dictionary
353         https://bugs.webkit.org/show_bug.cgi?id=93315
354
355         Reviewed by Adam Barth.
356
357         This patch passes Isolate to ArrayValue and Dictionary.
358
359         Rationale 1: We want to replace V8Proxy::throwError(ExceptionCode)
360         with setDOMException(ExceptionCode, Isolate*). For the replacement,
361         we need to pass Isolate to V8Utilities::extractTransferables().
362         To pass Isolate to V8Utilities::extractTransferables(), ( ...omitted... ),
363         we need to pass Isolate to ArrayValue and Dictionary.
364
365         Rationale 2: JSC already passes ExecState to ArrayValue and Dictionary.
366
367         Tests: storage/indexeddb/*
368                fast/files/*
369
370         * bindings/scripts/CodeGeneratorV8.pm:
371         (GenerateEventConstructorCallback):
372         (JSValueToNative):
373         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
374         (WebCore::V8TestEventConstructor::constructorCallback):
375         * bindings/scripts/test/V8/V8TestObj.cpp:
376         (WebCore::TestObjV8Internal::optionsObjectCallback):
377         * bindings/v8/ArrayValue.cpp:
378         (WebCore::ArrayValue::operator=):
379         (WebCore::ArrayValue::get):
380         * bindings/v8/ArrayValue.h:
381         (WebCore::ArrayValue::ArrayValue):
382         (ArrayValue):
383         * bindings/v8/Dictionary.cpp:
384         (WebCore::Dictionary::Dictionary):
385         (WebCore::Dictionary::operator=):
386         (WebCore::Dictionary::get):
387         * bindings/v8/Dictionary.h:
388         (Dictionary):
389         * bindings/v8/custom/V8BlobCustom.cpp:
390         (WebCore::V8Blob::constructorCallback):
391         * bindings/v8/custom/V8IntentConstructor.cpp:
392         (WebCore::V8Intent::constructorCallback):
393
394 2012-08-08  Yury Semikhatsky  <yurys@chromium.org>
395
396         Web Inspector: cached images memory instrumentation regression after r124744
397         https://bugs.webkit.org/show_bug.cgi?id=93366
398
399         Reviewed by Vsevolod Vlasov.
400
401         CachedImage memory usage data no includes size of both encoded and
402         decoded data.
403
404         Test: inspector/profiler/memory-instrumentation-cached-images.html
405
406         * loader/cache/CachedImage.cpp:
407         (WebCore::CachedImage::reportMemoryUsage):
408
409 2012-08-08  Kentaro Hara  <haraken@chromium.org>
410
411         Optimize Element::hasAttribute() by replacing String with AtomicString
412         https://bugs.webkit.org/show_bug.cgi?id=90273
413
414         Reviewed by Adam Barth.
415
416         Based on the observation described in this ChangeLog
417         (http://trac.webkit.org/changeset/121439), this patch optimizes the
418         performance of Element::hasAttribute() by replacing String with AtomicString.
419
420         Performance test: https://bugs.webkit.org/attachment.cgi?id=150144
421
422         hasAttribute (Chromium/Linux):
423         329.60ms => 259.00ms
424
425         hasAttributeNS (Chromium/Linux):
426         549.60ms => 435.80ms
427
428         * dom/Element.cpp:
429         (WebCore::Element::hasAttribute):
430         (WebCore::Element::hasAttributeNS):
431         * dom/Element.h:
432         (Element):
433
434 2012-08-08  Kentaro Hara  <haraken@chromium.org>
435
436         Optimize Element::removeAttribute() by replacing String with AtomicString
437         https://bugs.webkit.org/show_bug.cgi?id=90265
438
439         Reviewed by Adam Barth.
440
441         Based on the observation described in this ChangeLog
442         (http://trac.webkit.org/changeset/121439), this patch optimizes
443         Element::removeAttribute() by replacing String with AtomicString.
444
445         Performance test: https://bugs.webkit.org/attachment.cgi?id=150140
446
447         removeAttribute (Chromium/Linux):
448         334.20ms => 240.60ms
449
450         removeAttributeNS (Chromium/Linux):
451         552.80ms => 421.60ms
452
453         * dom/Element.cpp:
454         (WebCore::Element::removeAttribute):
455         (WebCore::Element::removeAttributeNS):
456         * dom/Element.h:
457         (Element):
458
459 2012-08-08  Shinya Kawanaka  <shinyak@chromium.org>
460
461         Remove Element::ensureShadowRoot
462         https://bugs.webkit.org/show_bug.cgi?id=77608
463
464         Reviewed by Ryosuke Niwa.
465
466         Since Element::ensureShadowRoot is not used anymore, we can remove this safely.
467
468         No new tests, no change in behavior.
469
470         * WebCore.order:
471         * dom/Element.cpp:
472         * dom/Element.h:
473         (Element):
474
475 2012-08-08  Kentaro Hara  <haraken@chromium.org>
476
477         Remove an unused member variable.
478
479         Unreviewed, build fix for r124990.
480
481         * dom/ContainerNode.h:
482         (WebCore::ChildNodesLazySnapshot::ChildNodesLazySnapshot):
483         (ChildNodesLazySnapshot):
484
485 2012-08-07  Vsevolod Vlasov  <vsevik@chromium.org>
486
487         Web Inspector: TabbedPane should use floating point width values for measuring.
488         https://bugs.webkit.org/show_bug.cgi?id=93349
489
490         Reviewed by Pavel Feldman.
491
492         TabbedPane now uses getBoundingClientRect().width instead of offsetWidth for more precise calculation.
493
494         * inspector/front-end/TabbedPane.js:
495         (WebInspector.TabbedPane.prototype._totalWidth):
496         (WebInspector.TabbedPane.prototype._updateTabsDropDown):
497         (WebInspector.TabbedPane.prototype._measureDropDownButton):
498         (WebInspector.TabbedPane.prototype._updateWidths):
499         (WebInspector.TabbedPaneTab.prototype._measure):
500
501 2012-08-08  Douglas Stockwell  <dstockwell@chromium.org>
502
503         'highlight' should not be parsed for a composite operation
504         https://bugs.webkit.org/show_bug.cgi?id=92615
505
506         Reviewed by Ryosuke Niwa.
507
508         r88144 removed support for highlight as a composite operation but did
509         not update the parser.
510
511         Test: fast/backgrounds/composite-highlight-is-invalid.html
512
513         * css/CSSParser.cpp:
514         (WebCore::CSSParser::parseFillProperty):
515
516 2012-08-08  Takashi Sakamoto  <tasak@google.com>
517
518         showNodePath should show the age of ShadowRoot
519         https://bugs.webkit.org/show_bug.cgi?id=93347
520
521         Reviewed by Ryosuke Niwa.
522
523         No new tests, because this patch is for fixing a bug of a method for
524         debugging. If NDEBUG is defined, the method is not compiled.
525
526         * dom/Node.cpp:
527         (WebCore::Node::showNodePathForThis):
528         Fixed the bug to obtain the oldest shadow root from a shadow root.
529         oldestShadowRootFor only works for an element node, not for a shadow root.
530
531 2012-08-07  Kent Tamura  <tkent@chromium.org>
532
533         Remove fractionDigits argument of WebCore::convertToLocalizedNumber()
534         https://bugs.webkit.org/show_bug.cgi?id=93435
535
536         Reviewed by Kentaro Hara.
537
538         Remove the fractionDigits argument of convertToLocalizedNumber because
539         we don't use it any more. Also, we can remove
540         parseToDoubleForNumberTypeWithDecimalPlaces() functions, which are used
541         to obtain the fractionDigits argument.
542
543         No new tests because of no behavior changes.
544
545         * platform/text/LocalizedNumber.h:
546         (WebCore): Remove the fractionDigits argument of convertToLocalizedNumber.
547         * platform/text/LocalizedNumberICU.cpp:
548         (WebCore::convertToLocalizedNumber): ditto.
549         * platform/text/LocalizedNumberNone.cpp:
550         (WebCore::convertToLocalizedNumber): ditto.
551         * platform/text/mac/LocalizedNumberMac.mm:
552         (WebCore::convertToLocalizedNumber): ditto.
553         * platform/text/win/LocalizedNumberWin.cpp:
554         (WebCore::convertToLocalizedNumber): ditto.
555
556         * html/NumberInputType.cpp:
557         (WebCore::NumberInputType::localizeValue):
558         Remove the code to make the decimalPlace value.
559         * html/parser/HTMLParserIdioms.cpp:
560         Remove parseToDoubleForNumberTypeWithDecimalPlaces.
561         * html/parser/HTMLParserIdioms.h: ditto.
562
563 2012-08-08  Mario Sanchez Prada  <msanchez@igalia.com>
564
565         REGRESSION(r65062): out of bound access in TextIterator (5 editing tests) on GTK
566         https://bugs.webkit.org/show_bug.cgi?id=63611
567
568         Reviewed by Ryosuke Niwa.
569
570         Ensure document's layout is up-to-date before using TextIterator
571         to properly calculate the offset for a text change when emitting
572         accessibility related signals in GTK.
573
574         * accessibility/gtk/AXObjectCacheAtk.cpp:
575         (WebCore::AXObjectCache::nodeTextChangePlatformNotification): Call
576         to document->updateLayout() before using TextIterator.
577
578 2012-08-07  Hayato Ito  <hayato@chromium.org>
579
580         Unreviewed build fix after http://trac.webkit.org/changeset/124975
581
582         Remove assertion introduced in r124975.
583
584         * dom/EventDispatcher.cpp:
585         (WebCore::EventDispatcher::EventDispatcher):
586         (WebCore::EventDispatcher::dispatchEvent):
587         * dom/EventDispatcher.h:
588         (EventDispatcher):
589
590 2012-08-07  Sheriff Bot  <webkit.review.bot@gmail.com>
591
592         Unreviewed, rolling out r124969.
593         http://trac.webkit.org/changeset/124969
594         https://bugs.webkit.org/show_bug.cgi?id=93436
595
596         Causes assertion failure in RenderQueue (Requested by toyoshim
597         on #webkit).
598
599         * rendering/RenderObjectChildList.cpp:
600         (WebCore::RenderObjectChildList::removeChildNode):
601         (WebCore::RenderObjectChildList::appendChildNode):
602         (WebCore::RenderObjectChildList::insertChildNode):
603         * rendering/RenderQuote.cpp:
604         (WebCore::adjustDepth):
605         (WebCore::RenderQuote::RenderQuote):
606         (WebCore::RenderQuote::~RenderQuote):
607         (WebCore::RenderQuote::willBeDestroyed):
608         (WebCore::RenderQuote::renderName):
609         (WebCore):
610         (WebCore::RenderQuote::placeQuote):
611         (WebCore::RenderQuote::originalText):
612         (WebCore::RenderQuote::computePreferredLogicalWidths):
613         (WebCore::RenderQuote::rendererSubtreeAttached):
614         (WebCore::RenderQuote::rendererRemovedFromTree):
615         (WebCore::RenderQuote::styleDidChange):
616         * rendering/RenderQuote.h:
617         (RenderQuote):
618         (WebCore::RenderQuote::isQuote):
619         * rendering/RenderView.cpp:
620         (WebCore::RenderView::RenderView):
621         * rendering/RenderView.h:
622         (WebCore):
623         (RenderView):
624         (WebCore::RenderView::addRenderQuote):
625         (WebCore::RenderView::removeRenderQuote):
626         (WebCore::RenderView::hasRenderQuotes):
627         * rendering/style/RenderStyle.cpp:
628         (WebCore::RenderStyle::diff):
629
630 2012-08-07  Kentaro Hara  <haraken@chromium.org>
631
632         Optimize ChildNode{Insertion,Removal}Notifier::notify() by lazily taking a snapshot of child nodes
633         https://bugs.webkit.org/show_bug.cgi?id=92965
634
635         Reviewed by Adam Barth.
636
637         This patch improves performance of Dromaeo/dom-modify by 8.2% in both Chromium and Safari.
638
639         [Mac/Safari]     4590.33 runs/s  =>  4965.79 runs/s  (+8.18%)
640         [Chromium/Linux] 3970.63 runs/s  =>  4299.65 runs/s  (+8.29%)
641
642         notifyDescendantRemovedFromDocument() cannot iterate child nodes in this way:
643
644         void notifyDescendantRemovedFromDocument(Node* node) {
645             for (Node* child = node->firstChild(); child; child = child->nextSibling()) {
646                 ...;
647                 notifyNodeRemovedFromDocument(child);
648             }
649         }
650
651         This is because notifyNodeRemovedFromDocument(child) might dispatch events
652         and the events might change child trees. To avoid security issues, the current
653         code takes a snapshot of child nodes before starting the iteration.
654
655         void notifyDescendantRemovedFromDocument(Node* node) {
656             NodeVector children;
657             getChildNodes(node, children); // Take a snapshot.
658             for (int i = 0; i < children.size(); i++) {
659                 ...;
660                 notifyNodeRemovedFromDocument(children[i]);
661             }
662         }
663
664         Based on the observation that in almost all cases events won't be dispatched
665         from inside notifyNodeRemovedFromDocument(), this patch implements
666         a "lazy" snapshot. The snapshot is taken at the point where
667         EventDispatcher::dispatchEvent() is invoked. The snapshot is not taken unless
668         any event is dispatched.
669
670         No tests. Confirm that all existing tests pass.
671         Actually, at present there is (should be) no case where an event is
672         dispatched from inside notifyNodeRemovedFromDocument(). Even DOMNodeInserted
673         and DOMNodeRemoved events are not dispatched. Originally the snapshot was
674         implemented "just in case" to protect the code from future attacks.
675         I manually confirmed that the lazy snapshot works correctly by inserting
676         takeChildNodesSnapshot() to notifyDescendantRemovedFromDocument()
677         in a random manner.
678
679         * dom/ContainerNode.cpp:
680         (WebCore):
681         * dom/ContainerNode.h:
682         (ChildNodesLazySnapshot):
683         (WebCore::ChildNodesLazySnapshot::ChildNodesLazySnapshot):
684         (WebCore::ChildNodesLazySnapshot::~ChildNodesLazySnapshot):
685         (WebCore::ChildNodesLazySnapshot::nextNode):
686         (WebCore::ChildNodesLazySnapshot::takeSnapshot):
687         (WebCore::ChildNodesLazySnapshot::nextSnapshot):
688         (WebCore::ChildNodesLazySnapshot::hasSnapshot):
689         (WebCore::ChildNodesLazySnapshot::takeChildNodesLazySnapshot):
690         (WebCore):
691         * dom/ContainerNodeAlgorithms.cpp:
692         (WebCore::ChildNodeInsertionNotifier::notifyDescendantInsertedIntoDocument):
693         (WebCore::ChildNodeRemovalNotifier::notifyDescendantRemovedFromDocument):
694         * dom/EventDispatcher.cpp:
695         (WebCore::EventDispatcher::dispatchEvent):
696
697 2012-08-07  Ojan Vafai  <ojan@chromium.org>
698
699         percentage margins + flex incorrectly overflows the flexbox
700         https://bugs.webkit.org/show_bug.cgi?id=93411
701
702         Reviewed by Tony Chang.
703
704         Percent margins should always be computed with respect to the containing
705         block's width, not it's height. We were getting this wrong in column flows.
706
707         Test: css3/flexbox/percent-margins.html
708
709         * rendering/RenderFlexibleBox.cpp:
710         (WebCore::RenderFlexibleBox::computeMarginValue):
711         (WebCore):
712         (WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes):
713         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
714         * rendering/RenderFlexibleBox.h:
715
716 2012-08-07  Kentaro Hara  <haraken@chromium.org>
717
718         [V8] Replace throwError(ExceptionCode, Isolate*) with setDOMException(ExceptionCode, Isolate*) in v8/* and v8/custom/*
719         https://bugs.webkit.org/show_bug.cgi?id=93226
720
721         Reviewed by Eric Seidel.
722
723         Now throwError(ExceptionCode, Isolate*) is equivalent to
724         setDOMException(ExceptionCode, Isolate*). We can replace the former with
725         the latter. After this replacement, the rule becomes simple and sane:
726         "Use throwError() for throwing JavaScript errors, use setDOMException()
727         for throwing DOM exceptions".
728
729         No tests. No change in behavior.
730
731         * bindings/v8/SerializedScriptValue.cpp:
732         (WebCore::SerializedScriptValue::transferArrayBuffers):
733         (WebCore::SerializedScriptValue::SerializedScriptValue):
734         * bindings/v8/custom/V8AudioContextCustom.cpp:
735         (WebCore::V8AudioContext::constructorCallback):
736         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
737         (WebCore::V8CSSStyleDeclaration::namedPropertySetter):
738         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
739         (WebCore::V8DOMStringMap::namedPropertySetter):
740         * bindings/v8/custom/V8DOMWindowCustom.cpp:
741         (WebCore::handlePostMessageCallback):
742         * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
743         (WebCore::handlePostMessageCallback):
744         * bindings/v8/custom/V8DirectoryEntryCustom.cpp:
745         (WebCore::V8DirectoryEntry::getDirectoryCallback):
746         (WebCore::V8DirectoryEntry::getFileCallback):
747         * bindings/v8/custom/V8DocumentCustom.cpp:
748         (WebCore::V8Document::evaluateCallback):
749         * bindings/v8/custom/V8HistoryCustom.cpp:
750         (WebCore::V8History::pushStateCallback):
751         (WebCore::V8History::replaceStateCallback):
752         * bindings/v8/custom/V8IntentConstructor.cpp:
753         (WebCore::V8Intent::constructorCallback):
754         * bindings/v8/custom/V8MessagePortCustom.cpp:
755         (WebCore::handlePostMessageCallback):
756         * bindings/v8/custom/V8MutationObserverCustom.cpp:
757         (WebCore::V8MutationObserver::constructorCallback):
758         * bindings/v8/custom/V8NotificationCenterCustom.cpp:
759         (WebCore::V8NotificationCenter::createHTMLNotificationCallback):
760         (WebCore::V8NotificationCenter::createNotificationCallback):
761         (WebCore::V8NotificationCenter::requestPermissionCallback):
762         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
763         (WebCore::V8SQLTransaction::executeSqlCallback):
764         * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
765         (WebCore::V8SQLTransactionSync::executeSqlCallback):
766         * bindings/v8/custom/V8StorageCustom.cpp:
767         (WebCore::storageSetter):
768         * bindings/v8/custom/V8WebSocketCustom.cpp:
769         (WebCore::V8WebSocket::constructorCallback):
770         (WebCore::V8WebSocket::sendCallback):
771         * bindings/v8/custom/V8WorkerContextCustom.cpp:
772         (WebCore::V8WorkerContext::importScriptsCallback):
773         * bindings/v8/custom/V8WorkerCustom.cpp:
774         (WebCore::handlePostMessageCallback):
775         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
776         (WebCore::V8XMLHttpRequest::responseTextAccessorGetter):
777         (WebCore::V8XMLHttpRequest::openCallback):
778         (WebCore::V8XMLHttpRequest::sendCallback):
779
780 2012-08-07  Kentaro Hara  <haraken@chromium.org>
781
782         [V8] Replace v8::Handle<v8::Value>() in custom bindings with v8Undefined()
783         https://bugs.webkit.org/show_bug.cgi?id=93215
784
785         Reviewed by Eric Seidel.
786
787         We should use v8Undefined() everywhere in V8 bindings.
788
789         No tests. No change in behavior.
790
791         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
792         (WebCore::V8CSSStyleDeclaration::namedPropertyGetter):
793         (WebCore::V8CSSStyleDeclaration::namedPropertySetter):
794         * bindings/v8/custom/V8ConsoleCustom.cpp:
795         (WebCore::V8Console::traceCallback):
796         (WebCore::V8Console::assertCallback):
797         (WebCore::V8Console::profileCallback):
798         (WebCore::V8Console::profileEndCallback):
799         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
800         (WebCore::V8DOMStringMap::namedPropertyGetter):
801         * bindings/v8/custom/V8DOMWindowCustom.cpp:
802         (WebCore::V8DOMWindow::indexedPropertyGetter):
803         (WebCore::V8DOMWindow::namedPropertyGetter):
804         * bindings/v8/custom/V8DataViewCustom.cpp:
805         (WebCore::V8DataView::setInt8Callback):
806         (WebCore::V8DataView::setUint8Callback):
807         * bindings/v8/custom/V8DeviceMotionEventCustom.cpp:
808         (WebCore::V8DeviceMotionEvent::initDeviceMotionEventCallback):
809         * bindings/v8/custom/V8DeviceOrientationEventCustom.cpp:
810         (WebCore::V8DeviceOrientationEvent::initDeviceOrientationEventCallback):
811         * bindings/v8/custom/V8DirectoryEntryCustom.cpp:
812         (WebCore::V8DirectoryEntry::getDirectoryCallback):
813         (WebCore::V8DirectoryEntry::getFileCallback):
814         * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
815         (WebCore::getNamedItems):
816         (WebCore::V8HTMLAllCollection::namedPropertyGetter):
817         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
818         (WebCore::getNamedItems):
819         (WebCore::V8HTMLCollection::namedPropertyGetter):
820         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
821         (WebCore::V8HTMLDocument::GetNamedProperty):
822         * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
823         (WebCore::V8HTMLFormElement::indexedPropertyGetter):
824         (WebCore::V8HTMLFormElement::namedPropertyGetter):
825         * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
826         (WebCore::V8HTMLFrameSetElement::namedPropertyGetter):
827         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
828         (WebCore::V8HTMLOptionsCollection::indexedPropertyGetter):
829         * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
830         (WebCore::npObjectNamedGetter):
831         (WebCore::npObjectNamedSetter):
832         (WebCore::npObjectIndexedGetter):
833         (WebCore::npObjectIndexedSetter):
834         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
835         (WebCore::V8HTMLSelectElement::indexedPropertyGetter):
836         * bindings/v8/custom/V8LocationCustom.cpp:
837         (WebCore::V8Location::reloadAccessorGetter):
838         (WebCore::V8Location::replaceAccessorGetter):
839         (WebCore::V8Location::assignAccessorGetter):
840         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
841         (WebCore::V8NamedNodeMap::indexedPropertyGetter):
842         (WebCore::V8NamedNodeMap::namedPropertyGetter):
843         * bindings/v8/custom/V8NodeListCustom.cpp:
844         (WebCore::V8NodeList::namedPropertyGetter):
845         * bindings/v8/custom/V8SVGLengthCustom.cpp:
846         (WebCore::V8SVGLength::convertToSpecifiedUnitsCallback):
847         * bindings/v8/custom/V8StorageCustom.cpp:
848         (WebCore::storageGetter):
849         (WebCore::V8Storage::namedPropertyGetter):
850         (WebCore::storageSetter):
851         * bindings/v8/custom/V8StyleSheetListCustom.cpp:
852         (WebCore::V8StyleSheetList::namedPropertyGetter):
853
854 2012-08-07  Kentaro Hara  <haraken@chromium.org>
855
856         [V8] Replace v8::Handle<v8::Value>() in bindings/v8/* with v8Undefined()
857         https://bugs.webkit.org/show_bug.cgi?id=93211
858
859         Reviewed by Eric Seidel.
860
861         We should use v8Undefined() everywhere in V8 bindings.
862         Replacing v8::Local<v8::Value>() etc with v8Undefined() can cause build
863         errors due to type conversion mismatch. I'll do the replacement in follow-up
864         patches.
865
866         No tests. No change in behavior.
867
868         * bindings/v8/IDBBindingUtilities.cpp:
869         (WebCore):
870         * bindings/v8/ScriptDebugServer.cpp:
871         (WebCore::ScriptDebugServer::pauseOnExceptionsState):
872         (WebCore::ScriptDebugServer::handleV8DebugEvent):
873         * bindings/v8/SerializedScriptValue.cpp:
874         * bindings/v8/V8Binding.cpp:
875         (WebCore::batchConfigureCallbacks):
876         * bindings/v8/V8Collection.h:
877         (WebCore::getV8Object):
878         (WebCore::collectionNamedPropertyGetter):
879         * bindings/v8/V8DOMWrapper.cpp:
880         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
881         * bindings/v8/V8NPObject.cpp:
882         (WebCore::npObjectGetProperty):
883         (WebCore::npObjectSetProperty):
884         * bindings/v8/V8Proxy.cpp:
885         (WebCore::V8Proxy::setDOMException):
886         (WebCore::V8Proxy::throwError):
887         * bindings/v8/WorkerScriptDebugServer.cpp:
888         (WebCore::WorkerScriptDebugServer::addListener):
889
890 2012-08-07  Joe Mason  <jmason@rim.com>
891
892         Fix regression in credential storage when using Negotiate auth
893         https://bugs.webkit.org/show_bug.cgi?id=93386
894
895         Reviewed by George Staikos.
896
897         r124205 regressed credential storage and lookup.  It added code to update the scheme used in
898         credential storage if the scheme chosen by the network stack is different from that requested by
899         webkit (currently this is only used when webkit requests Negotiate auth, but the Negotiate
900         infrastructure isn't set up correctly, so the network stack falls back to another auth type, usually
901         NTLM).  But the credentials are saved when a "success" status is received, and the scheme in the
902         credentials is not updated until notifyAuthReceived is called to report the actual auth scheme used.
903         The result is that the credentials are stored with the wrong auth scheme and can never be retreived.
904
905         Fixed by delaying the credential save until notifyAuthReceived.
906
907         RIM PR 166514
908         Internally reviewed by George Staikos
909
910         * platform/network/blackberry/NetworkJob.cpp:
911         (WebCore::NetworkJob::handleNotifyStatusReceived): Stop storing credentials here.
912         (WebCore::NetworkJob::notifyAuthReceived): Store credentials here instead.
913
914 2012-08-07  Kent Tamura  <tkent@chromium.org>
915
916         [Mac] Do not reformat numbers in <input type=number>
917         https://bugs.webkit.org/show_bug.cgi?id=93236
918
919         Reviewed by Hajime Morita.
920
921         We had bugs such as stripping leading zeros, dropping lower digits of
922         large numbers because we parse a user-input string to a double value,
923         and generate a string from the double value.
924
925         In order to avoid such reformatting, we use
926         platform/text/NumberLocalizer, which maps ASCII digits to the
927         corresponding localized digits.
928
929         Test: fast/forms/number/number-lossless-localization.html
930
931         * WebCore.xcodeproj/project.pbxproj:
932         Add the following files:
933          - platform/text/NumberLocalizer.cpp
934          - platform/text/NumberLocalizer.h
935          - platform/mac/LocaleMac.h
936          - platform/mac/LocaleMac.mm
937         * platform/text/mac/LocaleMac.h:
938         (LocaleMac): Inherit NumberLocalizer, and declare
939         initializeNumberLocalizerData() for it.
940         Add m_didInitializeNumberData flag.
941         * platform/text/mac/LocaleMac.mm:
942         (WebCore::LocaleMac::LocaleMac): Initialize m_didInitializeNumberData
943         (WebCore::LocaleMac::initializeNumberLocalizerData):
944         Added. Prepare data for number localization, and call
945         NumberLocalizer::setNumberLocalizerData().
946         A tricky part is to format 9876543210 for m_locale. It seems OSX doesn't
947         have API to get localized digits.
948         * platform/text/mac/LocalizedNumberMac.mm:
949         Remove many lines, and calls the corresponding functions of LocaleMac.
950         (WebCore::convertToLocalizedNumber):
951         (WebCore::convertFromLocalizedNumber):
952         (WebCore::localizedDecimalSeparator):
953
954 2012-08-07  Kentaro Hara  <haraken@chromium.org>
955
956         [V8] Move V8BindingMacros.h from bindings/v8/custom/ to bindings/v8/
957         https://bugs.webkit.org/show_bug.cgi?id=93254
958
959         Reviewed by Eric Seidel.
960
961         V8BindingMacros.h should exist in bindings/v8/.
962         This patch also moves related enums from V8Binding.h to V8BindingMacros.h.
963
964         No tests. No change in behavior.
965
966         * WebCore.gypi:
967         * bindings/v8/V8BindingMacros.h: Renamed from Source/WebCore/bindings/v8/custom/V8BindingMacros.h.
968         (WebCore):
969
970 2012-08-07  Kentaro Hara  <haraken@chromium.org>
971
972         [V8] StringCache::m_lastStringImpl and StringCache::m_lastV8String should be in sync
973         https://bugs.webkit.org/show_bug.cgi?id=93065
974
975         Reviewed by Eric Seidel.
976
977         StringCache::m_lastStringImpl caches a StringImpl that was accessed most
978         recently. StringCache::m_lastV8String caches Persistent<String> corresponding
979         to the StringImpl. Hence m_lastStringImpl and m_lastV8String should be in sync.
980
981         However, StringCache::remove() breaks the sync. StringCache::remove() clears
982         m_lastStringImpl but does not clear m_lastV8String. As far as I analyze the code,
983         this won't cause any problem, but we should fix it just in case.
984
985         No tests. No change in behavior.
986
987         * bindings/v8/V8Binding.cpp:
988         (WebCore::StringCache::remove):
989
990 2012-08-07  Hayato Ito  <hayato@chromium.org>
991
992         Don't re-use the same EventDispatcher instance to dispatch events.
993         https://bugs.webkit.org/show_bug.cgi?id=93322
994
995         Reviewed by Dimitri Glazkov.
996
997         It is potentially dangerous to call
998         EventDispatcher::dispatchEvent(PassRefPtr<Event>) twice for the
999         same EventDispatcher instance.  Some member functions in
1000         EventDispatcher assume that dispatchEvent(PassRefPtr<Event>) is
1001         never called more than once in its life cycle.
1002
1003         For example, EventDispatcher::ensureEventAncestor never
1004         recalculates ancestors of node even when
1005         dispatchEvent(PassRefPtr<Event)) is called again with a different
1006         event parameter.
1007
1008         A 'dblclick' event violates this rule. A 'dblclick' dispatching
1009         reuses the same dispatcher instance.  So stop re-using the same
1010         dispatcher and add ASSERT to make sure dispatchEvent() is never
1011         called more than once.
1012
1013         No new tests, no change in functionality.
1014
1015         * dom/EventDispatcher.cpp:
1016         (WebCore::EventDispatcher::EventDispatcher):
1017         (WebCore::EventDispatcher::dispatchEvent):
1018         * dom/EventDispatcher.h:
1019         (EventDispatcher):
1020         * dom/MouseEvent.cpp:
1021         (WebCore::MouseEventDispatchMediator::dispatchEvent):
1022
1023 2012-08-07  Joshua Bell  <jsbell@chromium.org>
1024
1025         Layout Test storage/indexeddb/intversion-omit-parameter.html is flaky
1026         https://bugs.webkit.org/show_bug.cgi?id=92952
1027
1028         Reviewed by Tony Chang.
1029
1030         Account for events being propagated from the back-end to front-end after
1031         front-end context is stopped (i.e. document is being destroyed). The IDBRequest
1032         lifecycle was tightened up in http://trac.webkit.org/changeset/123275 with more
1033         asserts but the stopped state wasn't accounted for.
1034
1035         Test: [chromium] webkit_unit_tests --gtest_filter='IDBRequestTest.EventsAfterStopping'
1036
1037         * Modules/indexeddb/IDBRequest.cpp:
1038         (WebCore::IDBRequest::abort):
1039         (WebCore::IDBRequest::onError):
1040         (WebCore::IDBRequest::onSuccess):
1041         (WebCore::IDBRequest::onSuccessWithContinuation):
1042
1043 2012-08-07  Kentaro Hara  <haraken@chromium.org>
1044
1045         Optimize Element::getAttributeNode() by replacing String with AtomicString
1046         https://bugs.webkit.org/show_bug.cgi?id=90274
1047
1048         Reviewed by Adam Barth.
1049
1050         Based on the observation described in this ChangeLog
1051         (http://trac.webkit.org/changeset/121439), this patch optimizes
1052         the performance of Element::getAttributeNode() by replacing String
1053         with AtomicString.
1054
1055         Performance test: https://bugs.webkit.org/attachment.cgi?id=150147
1056
1057         getAttributeNode (Chromium/Linux):
1058         375.20ms => 310.80ms
1059
1060         getAttributeNodeNS (Chromium/Linux):
1061         684.40ms => 539.00ms
1062
1063         * dom/Element.cpp:
1064         (WebCore::Element::getAttributeNode):
1065         (WebCore::Element::getAttributeNodeNS):
1066         * dom/Element.h:
1067         (Element):
1068
1069 2012-08-07  Michelangelo De Simone  <michelangelo@webkit.org>
1070
1071         CSSParser::parseTransform() refactor to accept valueList as argument
1072         https://bugs.webkit.org/show_bug.cgi?id=93295
1073
1074         Reviewed by Darin Adler.
1075
1076         CSS::parseTranform() is now accepting the related CSSParserValueList as
1077         argument. This change will be used by the code to parse the 3d-transforms
1078         within the custom() function, see bug #71443.
1079
1080         * css/CSSParser.cpp:
1081         (WebCore::CSSParser::parseValue):
1082         (WebCore::CSSParser::parseTransform):
1083         * css/CSSParser.h:
1084
1085 2012-08-07  Elliott Sprehn  <esprehn@gmail.com>
1086
1087         Reimplement RenderQuote placement algorithm
1088         https://bugs.webkit.org/show_bug.cgi?id=93056
1089
1090         Reviewed by Eric Seidel.
1091
1092         Greatly simplify the code that maintains the linked list of RenderQuotes. Now RenderQuote
1093         is placed into the linked list in computePreferredLogicalWidths on first access and is
1094         detached when destroyed (or explicitly removed).
1095
1096         The new algorithm doesn't require walking up the tree of renderers when there are no
1097         RenderQuotes in the tree yet, and also removes the need to walk over every subtree
1098         when inserting in rendererSubtreeAttached.
1099
1100         No new tests because this patch doesn't change any behavior.
1101
1102         * rendering/RenderObjectChildList.cpp:
1103         (WebCore::RenderObjectChildList::removeChildNode): Call detachQuote when removing from a child list.
1104         (WebCore::RenderObjectChildList::appendChildNode):
1105         (WebCore::RenderObjectChildList::insertChildNode):
1106         * rendering/RenderQuote.cpp:
1107         (WebCore::RenderQuote::RenderQuote):
1108         (WebCore::RenderQuote::~RenderQuote):
1109         (WebCore::RenderQuote::willBeDestroyed): Call detachQuote to ensure all destroyed quotes are detached.
1110         (WebCore::RenderQuote::originalText):
1111         (WebCore::RenderQuote::computePreferredLogicalWidths): Attach quote before computing the width.
1112         (WebCore):
1113         (WebCore::RenderQuote::attachQuote): Puts the RenderQuote in the linked list of quotes and computes the depth.
1114         (WebCore::RenderQuote::detachQuote): Removes the quote from the linked list.
1115         (WebCore::RenderQuote::updateDepth):
1116         * rendering/RenderQuote.h:
1117         (RenderQuote):
1118         * rendering/style/RenderStyle.cpp:
1119         (WebCore::RenderStyle::diff): Return StyleDifferenceLayout if quotes change and remove check in styleDidChange in RenderQuote.
1120         * rendering/RenderView.cpp:
1121         (WebCore::RenderView::RenderView):
1122         * rendering/RenderView.h:
1123         (WebCore):
1124         (WebCore::RenderView::setRenderQuoteHead):
1125         (WebCore::RenderView::renderQuoteHead): Stores the first quote in the document.
1126         (RenderView):
1127
1128 2012-08-07  Kentaro Hara  <haraken@chromium.org>
1129
1130         [V8] Remove a bunch of Persistent::New()s on setJSWrapperForXXXObject()
1131         https://bugs.webkit.org/show_bug.cgi?id=93342
1132
1133         Reviewed by Adam Barth.
1134
1135         There are a lot of custom bindings like this:
1136
1137             V8DOMWrapper::setJSWrapperForDOMObject(impl.release(), v8::Persistent<v8::Object>::New(args.Holder()));
1138
1139         Manually written Persistent::New() is error-prone. We can remove the
1140         Persistent::New() by allocating the Persistent handle inside
1141         setJSWrapperForDOMObject().
1142
1143         A new setJSWrapperForDOMObject() receives a wrapper object, allocates
1144         the Persistent handle of the wrapper object, and return the Persistent handle.
1145
1146         No tests. No change in behavior.
1147
1148         * bindings/scripts/CodeGeneratorV8.pm:
1149         (GenerateConstructorCallback):
1150         (GenerateEventConstructorCallback):
1151         (GenerateNamedConstructorCallback):
1152         (GenerateToV8Converters):
1153         * bindings/scripts/test/V8/V8Float64Array.cpp:
1154         (WebCore::V8Float64Array::wrapSlow):
1155         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
1156         (WebCore::V8TestActiveDOMObject::wrapSlow):
1157         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
1158         (WebCore::V8TestCustomNamedGetter::wrapSlow):
1159         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
1160         (WebCore::V8TestEventConstructor::constructorCallback):
1161         (WebCore::V8TestEventConstructor::wrapSlow):
1162         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
1163         (WebCore::V8TestEventTarget::wrapSlow):
1164         * bindings/scripts/test/V8/V8TestException.cpp:
1165         (WebCore::V8TestException::wrapSlow):
1166         * bindings/scripts/test/V8/V8TestInterface.cpp:
1167         (WebCore::V8TestInterface::constructorCallback):
1168         (WebCore::V8TestInterface::wrapSlow):
1169         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
1170         (WebCore::V8TestMediaQueryListListener::wrapSlow):
1171         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
1172         (WebCore::V8TestNamedConstructorConstructorCallback):
1173         (WebCore::V8TestNamedConstructor::wrapSlow):
1174         * bindings/scripts/test/V8/V8TestNode.cpp:
1175         (WebCore::V8TestNode::constructorCallback):
1176         (WebCore::V8TestNode::wrapSlow):
1177         * bindings/scripts/test/V8/V8TestObj.cpp:
1178         (WebCore::V8TestObj::constructorCallback):
1179         (WebCore::V8TestObj::wrapSlow):
1180         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
1181         (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
1182         (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
1183         * bindings/v8/V8DOMWindowShell.cpp:
1184         (WebCore::V8DOMWindowShell::installDOMWindow):
1185         * bindings/v8/V8DOMWrapper.cpp:
1186         (WebCore::V8DOMWrapper::setJSWrapperForDOMNode):
1187         (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMNode):
1188         * bindings/v8/V8DOMWrapper.h:
1189         (V8DOMWrapper):
1190         (WebCore::V8DOMWrapper::setJSWrapperForDOMObject):
1191         (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMObject):
1192         * bindings/v8/WorkerContextExecutionProxy.cpp:
1193         (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
1194         * bindings/v8/custom/V8ArrayBufferCustom.cpp:
1195         (WebCore::V8ArrayBuffer::constructorCallback):
1196         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
1197         (WebCore::wrapArrayBufferView):
1198         (WebCore::constructWebGLArray):
1199         * bindings/v8/custom/V8DOMFormDataCustom.cpp:
1200         (WebCore::V8DOMFormData::constructorCallback):
1201         * bindings/v8/custom/V8DataViewCustom.cpp:
1202         (WebCore::V8DataView::constructorCallback):
1203         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
1204         (WebCore::v8HTMLImageElementConstructorCallback):
1205         * bindings/v8/custom/V8IntentConstructor.cpp:
1206         (WebCore::V8Intent::constructorCallback):
1207         * bindings/v8/custom/V8MessageChannelConstructor.cpp:
1208         (WebCore::V8MessageChannel::constructorCallback):
1209         * bindings/v8/custom/V8MutationObserverCustom.cpp:
1210         (WebCore::V8MutationObserver::constructorCallback):
1211         * bindings/v8/custom/V8WebKitPointConstructor.cpp:
1212         (WebCore::V8WebKitPoint::constructorCallback):
1213         * bindings/v8/custom/V8WebSocketCustom.cpp:
1214         (WebCore::V8WebSocket::constructorCallback):
1215         * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
1216         (WebCore::V8XMLHttpRequest::constructorCallback):
1217
1218 2012-08-07  Erik Arvidsson  <arv@chromium.org>
1219
1220         Evolution, empathy no longer build with webkint 1.9.6:  webkit_dom_html_element_set_class_name is gone
1221         https://bugs.webkit.org/show_bug.cgi?id=93384
1222
1223         Reviewed by Adam Barth.
1224
1225         The GObject bindings do not do inheritance so when className was moved from HTMLElement to Element,
1226         webkit_dom_html_element_set_class_name was no longer defined. This patch re-adds the binding for the
1227         GObject bindings to HTMLElement.
1228
1229         No new tests.
1230
1231         * html/HTMLElement.idl:
1232
1233 2012-08-07  Dirk Pranke  <dpranke@chromium.org>
1234
1235         fix chromium win build after r124945
1236         https://bugs.webkit.org/show_bug.cgi?id=93421
1237
1238         Unreviewed, build fix.
1239
1240         Two Efl files were removed in r124945 but we forgot to remove
1241         them from WebCore.gypi.
1242
1243         * WebCore.gypi:
1244
1245 2012-08-07  Dean Jackson  <dino@apple.com>
1246
1247         Unreviewed build fix for Mac port after http://trac.webkit.org/changeset/124954
1248
1249         * html/HTMLPlugInElement.cpp:
1250         (WebCore::HTMLPlugInElement::isKeyboardFocusable):
1251
1252 2012-08-07  Kentaro Hara  <haraken@chromium.org>
1253
1254         [V8] Move setIsolatedWorldSecurityOrigin() from V8Proxy to ScriptController
1255         https://bugs.webkit.org/show_bug.cgi?id=93334
1256
1257         Reviewed by Adam Barth.
1258
1259         The goal is to move factor out V8Proxy methods to ScriptController.
1260         As a starting point, this patch moves setIsolatedWorldSecurityOrigin().
1261
1262         isolatedWorlds() and isolatedWorldSecurityOrigins() are temporary methods.
1263         They will be soon removed after moving all related methods
1264         and m_isolatedWorlds and m_isolatedWorldSecurityOrigins.
1265
1266         No tests. No change in behavior.
1267
1268         * bindings/v8/ScriptController.cpp:
1269         (WebCore::ScriptController::setIsolatedWorldSecurityOrigin):
1270         * bindings/v8/V8Proxy.cpp:
1271         * bindings/v8/V8Proxy.h:
1272         (WebCore):
1273         (V8Proxy):
1274         (WebCore::V8Proxy::isolatedWorlds):
1275         (WebCore::V8Proxy::isolatedWorldSecurityOrigins):
1276
1277 2012-08-07  Yoshifumi Inoue  <yosin@chromium.org>
1278
1279         translateZ(0) shifts file name in file input
1280         https://bugs.webkit.org/show_bug.cgi?id=69248
1281
1282         Reviewed by Simon Fraser.
1283
1284         This patch changes to use relative y-coordinate rather than absolute
1285         y-coordinate for baseline of text of input type "file" what we've already
1286         done for file icon y-coordinate.
1287
1288         Test: file-appearance-transform-no-effects.html
1289
1290         * rendering/RenderFileUploadControl.cpp:
1291         (WebCore::RenderFileUploadControl::paintObject): Changed to use paintOffset
1292         instead of absoluteBoundingBoxRectIgnoringTransforms().
1293
1294 2012-08-07  Kentaro Hara  <haraken@chromium.org>
1295
1296         [V8] Replace throwError(ExceptionCode, Isolate*) with
1297         setDOMException(ExceptionCode, Isolate*) in CodeGeneratorV8.pm
1298         https://bugs.webkit.org/show_bug.cgi?id=93223
1299
1300         Reviewed by Adam Barth.
1301
1302         Now throwError(ExceptionCode, Isolate*) is equivalent to
1303         setDOMException(ExceptionCode, Isolate*). We can replace the former
1304         with the latter. After this replacement, the rule becomes simple
1305         and sane: "Use throwError() for throwing JavaScript errors, use
1306         setDOMException() for throwing DOM exceptions".
1307
1308         Test: bindings/scripts/test/TestObj.idl
1309
1310         * bindings/scripts/CodeGeneratorV8.pm:
1311         (GenerateParametersCheck):
1312         (GenerateConstructorCallback):
1313         (GenerateNamedConstructorCallback):
1314         * bindings/scripts/test/V8/V8TestInterface.cpp:
1315         (WebCore::V8TestInterface::constructorCallback):
1316         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
1317         (WebCore::V8TestNamedConstructorConstructorCallback):
1318         * bindings/scripts/test/V8/V8TestObj.cpp:
1319         (WebCore::TestObjV8Internal::methodWithCallbackArgCallback):
1320         (WebCore::TestObjV8Internal::methodWithNonCallbackArgAndCallbackArgCallback):
1321         (WebCore::TestObjV8Internal::methodWithCallbackAndOptionalArgCallback):
1322         (WebCore::TestObjV8Internal::overloadedMethod5Callback):
1323         (WebCore::V8TestObj::constructorCallback):
1324
1325 2012-08-07  Fady Samuel  <fsamuel@chromium.org>
1326
1327         Allow plugins to decide whether they are keyboard focusable
1328         https://bugs.webkit.org/show_bug.cgi?id=88958
1329
1330         Reviewed by Anders Carlsson.
1331
1332         * dom/Node.h:
1333         (WebCore::Node::isPluginElement):
1334         * html/HTMLEmbedElement.cpp:
1335         (WebCore::HTMLEmbedElement::renderWidgetForJSBindings):
1336         * html/HTMLEmbedElement.h:
1337         (HTMLEmbedElement):
1338         * html/HTMLObjectElement.cpp:
1339         (WebCore::HTMLObjectElement::renderWidgetForJSBindings):
1340         * html/HTMLObjectElement.h:
1341         (HTMLObjectElement):
1342         * html/HTMLPlugInElement.cpp:
1343         (WebCore::HTMLPlugInElement::pluginWidget):
1344         (WebCore::HTMLPlugInElement::isKeyboardFocusable):
1345         (WebCore):
1346         (WebCore::HTMLPlugInElement::isPluginElement):
1347         * html/HTMLPlugInElement.h:
1348         (HTMLPlugInElement):
1349         * page/FocusController.cpp:
1350         (WebCore::FocusController::advanceFocusInDocumentOrder):
1351         * plugins/PluginViewBase.h:
1352         (WebCore::PluginViewBase::supportsKeyboardFocus):
1353
1354 2012-08-07  Anna Cavender  <annacc@chromium.org>
1355
1356         Create a MediaSource object.
1357         https://bugs.webkit.org/show_bug.cgi?id=91773
1358
1359         Reviewed by Eric Carlson.
1360
1361         MediaSource object is needed in order to implement the new
1362         object-oriented MediaSource API:
1363         http://dvcs.w3.org/hg/html-media/raw-file/tip/media-source/media-source.html
1364
1365         No new tests - will be able to test after landing:
1366         https://bugs.webkit.org/show_bug.cgi?id=91775
1367
1368         Adding new files to build files:
1369         * CMakeLists.txt:
1370         * DerivedSources.cpp:
1371         * DerivedSources.make:
1372         * DerivedSources.pri:
1373         * GNUmakefile.list.am:
1374         * Target.pri:
1375         * WebCore.gypi:
1376         * WebCore.vcproj/WebCore.vcproj:
1377         * WebCore.xcodeproj/project.pbxproj:
1378
1379         New MediaSource object:
1380         * Modules/mediasource/MediaSource.cpp: Added.
1381         * Modules/mediasource/MediaSource.h: Added.
1382         * Modules/mediasource/MediaSource.idl: Added.
1383
1384         Create a registry for the blob storage and lookup:
1385         * Modules/mediasource/MediaSourceRegistry.cpp: Added.
1386         * Modules/mediasource/MediaSourceRegistry.h: Added.
1387
1388         Connect SourceBuffer to MediaSource:
1389         * Modules/mediasource/SourceBuffer.cpp:
1390         (WebCore::SourceBuffer::SourceBuffer):
1391         (WebCore::SourceBuffer::buffered): Forward call to MediaSource.
1392         (WebCore::SourceBuffer::append): Ditto.
1393         (WebCore::SourceBuffer::abort): Ditto.
1394         * Modules/mediasource/SourceBuffer.h:
1395         (WebCore::SourceBuffer::create): Add a MediaSource to the constructor.
1396         (WebCore::SourceBuffer::clear): Clear the MediaSource.
1397         (SourceBuffer):
1398         * Modules/mediasource/SourceBufferList.cpp: include SourceBuffer.h
1399         * Modules/mediasource/SourceBufferList.h:
1400
1401         Make MediaSource an EventTarget:
1402         * dom/EventTarget.h:
1403         (WebCore):
1404         * dom/EventTargetFactory.in:
1405
1406         Enable creation of MediaSource object URL from JavaScript:
1407         * html/DOMURL.cpp:
1408         (WebCore):
1409         (WebCore::DOMURL::createObjectURL):
1410         (WebCore::DOMURL::revokeObjectURL):
1411         * html/DOMURL.h:
1412         (WebCore):
1413         (DOMURL):
1414         * html/DOMURL.idl:
1415         * html/PublicURLManager.h: create a new sourceURLs list for storing
1416             reigstered MediaSource URLS.
1417         (WebCore::PublicURLManager::contextDestroyed): make sure everything is
1418             removed from the sourceURLs list upon destruction.
1419         (PublicURLManager):
1420         (WebCore::PublicURLManager::sourceURLs): getter for the sourceURLs list.
1421
1422         New MediaSource constructor:
1423         * page/DOMWindow.idl:
1424
1425 2012-08-07  Kentaro Hara  <haraken@chromium.org>
1426
1427         [V8] Implement V8Proxy::registerExtensionIfNeeded() and remove redundant methods
1428         https://bugs.webkit.org/show_bug.cgi?id=93209
1429
1430         Reviewed by Adam Barth.
1431
1432         By implementing V8Proxy::registerExtensionIfNeeded(), we can remove
1433         registeredExtensionWithV8() and registerExtension().
1434
1435         No tests. No change in behavior.
1436
1437         * bindings/v8/V8DOMWindowShell.cpp:
1438         (WebCore::V8DOMWindowShell::createNewContext):
1439         * bindings/v8/V8Proxy.cpp:
1440         (WebCore::V8Proxy::registerExtensionIfNeeded):
1441         * bindings/v8/V8Proxy.h:
1442         (V8Proxy):
1443
1444 2012-08-07  Ryuan Choi  <ryuan.choi@samsung.com>
1445
1446         [EFL] Remove PlatformTouchEventEfl and PlatformTouchPointEfl
1447         https://bugs.webkit.org/show_bug.cgi?id=93270
1448
1449         Reviewed by Eric Seidel.
1450
1451         PlatformTouchEventEfl and PlatformTouchPointEfl initialize PlatformTouchEvent
1452         directly from Ewk_TouchEvent which is WebKit1/Efl API and they can not be
1453         shared with WebKit2/Efl.
1454
1455         In order to remove this WebKit dependency from WebCore, this patch removes Efl
1456         specific codes from PlatformTouchXXX and adds the classes which convert
1457         Ewk_Touch_XXX to PlatformTouchXXX.
1458
1459         No new tests. Just a refactoring.
1460
1461         * PlatformEfl.cmake: Removed PlatformTouchEventEfl.cpp and PlatformTouchPointEfl.cpp
1462         * platform/PlatformTouchEvent.h: Removed Efl specific codes.
1463         (PlatformTouchEvent):
1464         * platform/PlatformTouchPoint.h: Ditto.
1465         (PlatformTouchPoint):
1466         * platform/efl/PlatformTouchEventEfl.cpp: Removed.
1467         * platform/efl/PlatformTouchPointEfl.cpp: Removed.
1468
1469 2012-08-07  James Robinson  <jamesr@chromium.org>
1470
1471         [chromium] Avoid dependending on implicit WebString -> String conversion in compositor
1472         https://bugs.webkit.org/show_bug.cgi?id=93408
1473
1474         Reviewed by Adrienne Walker.
1475
1476         * platform/graphics/chromium/LayerRendererChromium.cpp:
1477         (WebCore::LayerRendererChromium::initialize):
1478         * platform/graphics/chromium/cc/CCResourceProvider.cpp:
1479         (WebCore::CCResourceProvider::initialize):
1480
1481 2012-08-07  Kentaro Hara  <haraken@chromium.org>
1482
1483         [V8] Factor out V8Binding methods that configures DOM attributes and methods
1484         https://bugs.webkit.org/show_bug.cgi?id=93239
1485
1486         Reviewed by Adam Barth.
1487
1488         V8Binding is messy. This patch factors out V8Binding methods that configures
1489         DOM attributes and methods into another file. This patch just moves the methods
1490         from V8Binding.{h,cpp} to V8ConfigureDOMAttributesAndMethods.{h,cpp}.
1491
1492         No tests. No change in behavior.
1493
1494         * UseV8.cmake:
1495         * WebCore.gypi:
1496         * bindings/v8/V8Binding.cpp:
1497         * bindings/v8/V8Binding.h:
1498         (WebCore):
1499         * bindings/v8/V8ConfigureDOMAttributesAndMethods.cpp: Added.
1500         (WebCore):
1501         (WebCore::batchConfigureAttributes):
1502         (WebCore::batchConfigureConstants):
1503         (WebCore::batchConfigureCallbacks):
1504         (WebCore::configureTemplate):
1505         * bindings/v8/V8ConfigureDOMAttributesAndMethods.h: Added.
1506         (WebCore):
1507         (BatchedAttribute):
1508         (WebCore::configureAttribute):
1509         (BatchedConstant):
1510         (BatchedCallback):
1511
1512 2012-08-07  Kentaro Hara  <haraken@chromium.org>
1513
1514         [V8] Replace all V8 undefined values in the rest of custom bindings with v8Undefined()
1515         https://bugs.webkit.org/show_bug.cgi?id=93220
1516
1517         Reviewed by Eric Seidel.
1518
1519         We should use v8Undefined() everywhere in V8 bindings.
1520         This patch replaces all V8 undefined values in the rest of custom bindings
1521         with v8Undefined().
1522
1523         No tests. No change in behavior.
1524
1525         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
1526         (WebCore::V8DOMStringMap::namedPropertyQuery): Simple refactoring not related to
1527         this patch. Since other bindings are using 0 instead of v8::None, we should use 0 here too.
1528         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1529         (WebCore::toV8):
1530         * bindings/v8/custom/V8ScriptProfileCustom.cpp:
1531         (WebCore::toV8):
1532         * bindings/v8/custom/V8ScriptProfileNodeCustom.cpp:
1533         (WebCore::toV8):
1534
1535 2012-08-07  Kentaro Hara  <haraken@chromium.org>
1536
1537         [V8] Remove #include V8BindingMacros.h
1538         https://bugs.webkit.org/show_bug.cgi?id=93312
1539
1540         Reviewed by Eric Seidel.
1541
1542         We are factoring out V8Binding methods to separate files.
1543         After the refactoring, V8Binding.h will include binding related
1544         header files (e.g. V8BindingMacros.h, V8BindingHelper.h, etc), so that
1545         custom V8 binding files just need to include V8Binding.h only.
1546
1547         We can remove '#include V8BindingMacros.h' from V8 binding files.
1548
1549         No tests. No change in behavior.
1550
1551         * bindings/scripts/CodeGeneratorV8.pm:
1552         (GenerateNormalAttrSetter):
1553         (GenerateParametersCheck):
1554         (GenerateEventConstructorCallback):
1555         (ConvertToV8Parameter):
1556         * bindings/scripts/test/V8/V8Float64Array.cpp:
1557         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
1558         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
1559         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
1560         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
1561         * bindings/scripts/test/V8/V8TestInterface.cpp:
1562         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
1563         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
1564         * bindings/scripts/test/V8/V8TestObj.cpp:
1565         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
1566         * bindings/v8/ScriptController.cpp:
1567         * bindings/v8/custom/V8BlobCustom.cpp:
1568         * bindings/v8/custom/V8ConsoleCustom.cpp:
1569         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1570         * bindings/v8/custom/V8DataViewCustom.cpp:
1571         * bindings/v8/custom/V8DeviceMotionEventCustom.cpp:
1572         * bindings/v8/custom/V8DeviceOrientationEventCustom.cpp:
1573         * bindings/v8/custom/V8DirectoryEntryCustom.cpp:
1574         * bindings/v8/custom/V8DirectoryEntrySyncCustom.cpp:
1575         * bindings/v8/custom/V8IntentConstructor.cpp:
1576         * bindings/v8/custom/V8MutationObserverCustom.cpp:
1577         * bindings/v8/custom/V8PerformanceCustom.cpp:
1578         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
1579         * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
1580         * bindings/v8/custom/V8SVGLengthCustom.cpp:
1581         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
1582         * bindings/v8/custom/V8WebKitAnimationCustom.cpp:
1583         * bindings/v8/custom/V8WorkerContextCustom.cpp:
1584
1585 2012-08-07  Kentaro Hara  <haraken@chromium.org>
1586
1587         [V8] Remove #include Frame.h from V8Binding.h
1588         https://bugs.webkit.org/show_bug.cgi?id=93326
1589
1590         Reviewed by Adam Barth.
1591
1592         We want to remove unnecessary #include in V8Binding.h
1593         to avoid circular include dependency.
1594
1595         No tests. No change in behavior.
1596
1597         * bindings/scripts/CodeGeneratorV8.pm:
1598         (GenerateDomainSafeFunctionGetter):
1599         (GenerateNormalAttrGetter):
1600         (GenerateReplaceableAttrSetter):
1601         (GenerateFunctionCallback):
1602         (GenerateNamedConstructorCallback):
1603         (GenerateToV8Converters):
1604         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
1605         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
1606         * bindings/scripts/test/V8/V8TestNode.cpp:
1607         * bindings/v8/ScheduledAction.cpp:
1608         * bindings/v8/V8Binding.h:
1609         * bindings/v8/V8DOMWrapper.cpp:
1610         * bindings/v8/custom/V8DocumentCustom.cpp:
1611         * bindings/v8/custom/V8SVGDocumentCustom.cpp:
1612         * testing/v8/WebCoreTestSupport.cpp:
1613
1614 2012-08-07  Kentaro Hara  <haraken@chromium.org>
1615
1616         [V8] Factor out V8Binding classes that manage V8 value's cache
1617         https://bugs.webkit.org/show_bug.cgi?id=93343
1618
1619         Reviewed by Adam Barth.
1620
1621         We are factoring out V8Binding methods to separate files.
1622         This patch moves V8Binding classes that manage V8 value's cache
1623         to V8ValueCache.{h,cpp}.
1624
1625         No tests. No change in behavior.
1626
1627         * UseV8.cmake:
1628         * WebCore.gypi:
1629         * bindings/v8/V8Binding.cpp:
1630         * bindings/v8/V8Binding.h:
1631         (WebCore):
1632         * bindings/v8/V8ValueCache.cpp: Added.
1633         (WebCore):
1634         (WebCore::makeExternalString):
1635         (WebCore::cachedStringCallback):
1636         (WebCore::StringCache::remove):
1637         (WebCore::StringCache::v8ExternalStringSlow):
1638         (WebCore::IntegerCache::createSmallIntegers):
1639         (WebCore::IntegerCache::~IntegerCache):
1640         * bindings/v8/V8ValueCache.h: Added.
1641         (WebCore):
1642         (StringCache):
1643         (WebCore::StringCache::StringCache):
1644         (WebCore::StringCache::v8ExternalString):
1645         (WebCore::StringCache::clearOnGC):
1646         (WebCoreStringResource):
1647         (WebCore::WebCoreStringResource::WebCoreStringResource):
1648         (WebCore::WebCoreStringResource::~WebCoreStringResource):
1649         (WebCore::WebCoreStringResource::data):
1650         (WebCore::WebCoreStringResource::length):
1651         (WebCore::WebCoreStringResource::webcoreString):
1652         (WebCore::WebCoreStringResource::atomicString):
1653         (WebCore::WebCoreStringResource::visitStrings): This method is used by inspector
1654         and thus is not performance-critical. To avoid circular #include dependency,
1655         I moved the implementation to cpp.
1656         (WebCore::WebCoreStringResource::toStringResource):
1657         (IntegerCache):
1658         (WebCore::IntegerCache::IntegerCache):
1659         (WebCore::IntegerCache::v8Integer):
1660         (WebCore::IntegerCache::v8UnsignedInteger):
1661
1662 2012-08-07  James Robinson  <jamesr@chromium.org>
1663
1664         [chromium] Switch PlatformLayer typedef to Platform API type for PLATFORM(CHROMIUM)
1665         https://bugs.webkit.org/show_bug.cgi?id=93335
1666
1667         Reviewed by Adrienne Walker.
1668
1669         This converts the PlatformLayer typedef to WebKit::WebLayer (part of the chromium Platform API) for the
1670         Chromium port. This involves some odd const_cast<>s in places since cross-platform interfaces assume that
1671         PlatformLayer is a potentially heavy implementation class, but WebLayer is a thin smart pointer type.
1672
1673         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
1674         (WebCore::createScrollbarLayer):
1675         (WebCore::ScrollingCoordinator::setScrollLayer):
1676         (WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
1677         (WebCore::ScrollingCoordinator::setLayerIsContainerForFixedPositionLayers):
1678         (WebCore::ScrollingCoordinator::setLayerIsFixedToContainerLayer):
1679         * platform/graphics/PlatformLayer.h:
1680         (WebKit):
1681         (WebCore):
1682         * platform/graphics/chromium/Canvas2DLayerBridge.cpp:
1683         (WebCore::Canvas2DLayerBridge::layer):
1684         * platform/graphics/chromium/Canvas2DLayerBridge.h:
1685         (Canvas2DLayerBridge):
1686         * platform/graphics/chromium/DrawingBufferChromium.cpp:
1687         (WebCore::DrawingBufferPrivate::layer):
1688         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1689         (WebCore::GraphicsLayerChromium::removeFromParent):
1690         (WebCore::GraphicsLayerChromium::setDrawsContent):
1691         (WebCore::GraphicsLayerChromium::setContentsVisible):
1692         (WebCore::GraphicsLayerChromium::setMaskLayer):
1693         (WebCore::GraphicsLayerChromium::setContentsToCanvas):
1694         (WebCore::GraphicsLayerChromium::setContentsToMedia):
1695         (WebCore::GraphicsLayerChromium::primaryLayer):
1696         (WebCore::GraphicsLayerChromium::platformLayer):
1697         (WebCore::GraphicsLayerChromium::updateChildList):
1698         * platform/graphics/chromium/GraphicsLayerChromium.h:
1699         (GraphicsLayerChromium):
1700
1701 2012-08-07  James Robinson  <jamesr@chromium.org>
1702
1703         [chromium] Use WebCompositor interface in Platform API instead of CCProxy to query threaded compositor status
1704         https://bugs.webkit.org/show_bug.cgi?id=93398
1705
1706         Reviewed by Adam Barth.
1707
1708         Converts non-compositor code that cares about threaded compositing status over to query WebCompositor instead of
1709         CCProxy.
1710
1711         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
1712         * platform/chromium/support/WebCompositorImpl.cpp:
1713         (WebKit):
1714         (WebKit::WebCompositor::threadingEnabled):
1715         (WebKit::WebCompositor::onCompositorThread):
1716         (WebKit::WebCompositorImpl::threadingEnabled):
1717         * platform/chromium/support/WebCompositorImpl.h:
1718         (WebCompositorImpl):
1719         * platform/graphics/chromium/Canvas2DLayerBridge.cpp:
1720         (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
1721         * platform/graphics/chromium/DrawingBufferChromium.cpp:
1722         (WebCore::DrawingBuffer::DrawingBuffer):
1723
1724 2012-08-07  Anders Carlsson  <andersca@apple.com>
1725
1726         Knob slot animation is flipped
1727         https://bugs.webkit.org/show_bug.cgi?id=93396
1728
1729         Reviewed by Beth Dakin.
1730
1731         When painting the scrollbar knob slot, use rectForPart: since it correctly takes the expansion transition state into account.
1732
1733         * platform/mac/ScrollbarThemeMac.mm:
1734         (WebCore::scrollbarPainterPaint):
1735
1736 2012-08-07  Adrienne Walker  <enne@google.com>
1737
1738         50% fixed position coverage slow scroll heuristic is incorrect when invalidations aren't clipped
1739         https://bugs.webkit.org/show_bug.cgi?id=92011
1740
1741         Reviewed by Simon Fraser.
1742
1743         The heuristic in scrollContentsFastPath to slow scroll by invalidating
1744         the entire frame if fixed position elements cover 50% of the frame
1745         takes away the ability of ports to make their own decisions about how
1746         to best handle invalidations. Therefore, remove this heuristic.
1747
1748         * page/FrameView.cpp:
1749         (WebCore::FrameView::scrollContentsFastPath):
1750
1751 2012-08-07  Konrad Piascik  <kpiascik@rim.com>
1752
1753         [BlackBerry] Change how devicePixelRatio is set.
1754         https://bugs.webkit.org/show_bug.cgi?id=93385
1755
1756         Reviewed by Antonio Gomes.
1757
1758         Update the theme to adjust to a constant devicePixelRatio.
1759
1760         Not testable.
1761
1762         * platform/blackberry/RenderThemeBlackBerry.cpp:
1763         (WebCore::determineFullScreenMultiplier):
1764
1765 2012-08-07  James Robinson  <jamesr@chromium.org>
1766
1767         [chromium] Move WebCompositor interface into Platform API
1768         https://bugs.webkit.org/show_bug.cgi?id=93391
1769
1770         Reviewed by Adam Barth.
1771
1772         Moves the support files for WebCompositor into WebCore/platform/support/. CCThreadImpl is a helper class used
1773         only by WebCompositorImpl.
1774
1775         Refactor/renaming only, so no new tests.
1776
1777         * WebCore.gypi:
1778         * platform/chromium/support/CCThreadImpl.cpp: Renamed from Source/WebKit/chromium/src/CCThreadImpl.cpp.
1779         (WebKit):
1780         (GetThreadIDTask):
1781         (WebKit::GetThreadIDTask::GetThreadIDTask):
1782         (WebKit::GetThreadIDTask::~GetThreadIDTask):
1783         (WebKit::GetThreadIDTask::run):
1784         (CCThreadTaskAdapter):
1785         (WebKit::CCThreadTaskAdapter::CCThreadTaskAdapter):
1786         (WebKit::CCThreadTaskAdapter::~CCThreadTaskAdapter):
1787         (WebKit::CCThreadTaskAdapter::run):
1788         (WebKit::CCThreadImpl::create):
1789         (WebKit::CCThreadImpl::~CCThreadImpl):
1790         (WebKit::CCThreadImpl::postTask):
1791         (WebKit::CCThreadImpl::postDelayedTask):
1792         (WebKit::CCThreadImpl::threadID):
1793         (WebKit::CCThreadImpl::CCThreadImpl):
1794         * platform/chromium/support/CCThreadImpl.h: Renamed from Source/WebKit/chromium/src/CCThreadImpl.h.
1795         (WebKit):
1796         (CCThreadImpl):
1797         * platform/chromium/support/WebCompositorImpl.cpp: Renamed from Source/WebKit/chromium/src/WebCompositorImpl.cpp.
1798         (WebKit):
1799         (WebKit::WebCompositor::initialize):
1800         (WebKit::WebCompositor::shutdown):
1801         (WebKit::WebCompositor::setPerTilePaintingEnabled):
1802         (WebKit::WebCompositor::setPartialSwapEnabled):
1803         (WebKit::WebCompositor::setAcceleratedAnimationEnabled):
1804         (WebKit::WebCompositorImpl::initialize):
1805         (WebKit::WebCompositorImpl::initialized):
1806         (WebKit::WebCompositorImpl::shutdown):
1807         * platform/chromium/support/WebCompositorImpl.h: Renamed from Source/WebKit/chromium/src/WebCompositorImpl.h.
1808         (WebCore):
1809         (WebKit):
1810         (WebCompositorImpl):
1811
1812 2012-08-07  Abhishek Arya  <inferno@chromium.org>
1813
1814         Crash in ContainerNode::cloneChildNodes.
1815         https://bugs.webkit.org/show_bug.cgi?id=93378
1816
1817         Reviewed by Levi Weintraub.
1818
1819         Re-enabling the editing delete button controller in cloneChildNode was causing style changes,
1820         thereby causing load events to fire. The load event can blow our nodes from underneath. This causes
1821         crashes when we are nested inside cloneChildNodes. The patch just skips the delete button controller's
1822         container element from being cloned and removes the hacky enable/disable logic. 
1823
1824         Test: fast/dom/clone-node-load-event-crash.html
1825
1826         * dom/ContainerNode.cpp:
1827         (WebCore::ContainerNode::cloneChildNodes):
1828
1829 2012-08-07  No'am Rosenthal  <noam.rosenthal@nokia.com>
1830
1831         GraphicsLayerAnimation shouldn't use HashMap<String>
1832         https://bugs.webkit.org/show_bug.cgi?id=93284
1833
1834         Reviewed by Kenneth Rohde Christiansen.
1835
1836         Use a vector containing all the animations instead of a map of String to Vector.
1837         The HashMap contains very few elements, which makes it inefficient relatively to a vector.
1838         This has been shown to be a bottleneck in valgrind.
1839
1840         Covered by existing animation tests.
1841
1842         * platform/graphics/GraphicsLayerAnimation.cpp:
1843         (WebCore::GraphicsLayerAnimation::GraphicsLayerAnimation):
1844         (WebCore::GraphicsLayerAnimations::hasActiveAnimationsOfType):
1845         (WebCore::GraphicsLayerAnimations::hasRunningAnimations):
1846         (WebCore::GraphicsLayerAnimations::add):
1847         (WebCore::GraphicsLayerAnimations::pause):
1848         (WebCore::GraphicsLayerAnimations::remove):
1849         (WebCore::GraphicsLayerAnimations::apply):
1850         * platform/graphics/GraphicsLayerAnimation.h:
1851         (GraphicsLayerAnimation):
1852         (WebCore::GraphicsLayerAnimation::name):
1853         (GraphicsLayerAnimations):
1854         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
1855         (WebCore::GraphicsLayerTextureMapper::addAnimation):
1856
1857 2012-08-07  Marcelo Lira  <marcelo.lira@openbossa.org>
1858
1859         [Qt] Add support for the Gamepad API
1860         https://bugs.webkit.org/show_bug.cgi?id=90637
1861
1862         Reviewed by Alexis Menard.
1863
1864         Adds support for Gamepad API on the Qt port.
1865
1866         The implementation of this class relies on the Linux
1867         kernel joystick API.
1868
1869         Gamepad devices are recognized through the GamepadsQt
1870         class, which uses the udev library to watch for connection,
1871         disconnection and other gamepad related events.
1872
1873         Tests for this feature already exist.
1874
1875         * DerivedSources.pri:
1876         * Target.pri:
1877         * WebCore.pri:
1878         * platform/qt/GamepadsQt.cpp: Added.
1879         (WebCore):
1880         (GamepadDeviceLinuxQt):
1881         (WebCore::GamepadDeviceLinuxQt::create):
1882         (WebCore::GamepadDeviceLinuxQt::GamepadDeviceLinuxQt):
1883         (WebCore::GamepadDeviceLinuxQt::~GamepadDeviceLinuxQt):
1884         (WebCore::GamepadDeviceLinuxQt::readCallback):
1885         (GamepadsQt):
1886         (WebCore::GamepadsQt::GamepadsQt):
1887         (WebCore::GamepadsQt::~GamepadsQt):
1888         (WebCore::GamepadsQt::isGamepadDevice):
1889         (WebCore::GamepadsQt::onGamePadChange):
1890         (WebCore::GamepadsQt::registerDevice):
1891         (WebCore::GamepadsQt::unregisterDevice):
1892         (WebCore::GamepadsQt::updateGamepadList):
1893         (WebCore::sampleGamepads):
1894
1895 2012-08-07  Mike Reed  <reed@google.com>
1896
1897         reimplement fastMod w/o (soon to be) private skia macros
1898         https://bugs.webkit.org/show_bug.cgi?id=93370
1899
1900         Reviewed by Adrienne Walker.
1901
1902         fastMod() reimplemented (same functionality) to stop using soon-to-be private macros in
1903         SkMath.h. The new version is functionally identical.
1904
1905         No new tests -- existing layouttests exercise GraphicsContext::strokeArc(), the only caller
1906
1907         * platform/graphics/skia/GraphicsContextSkia.cpp:
1908
1909 2012-08-07  Brian Anderson  <brianderson@chromium.org>
1910
1911         Add CCDelayBasedTimeSource::setTimebaseAndInterval
1912         https://bugs.webkit.org/show_bug.cgi?id=92825
1913
1914         Reviewed by James Robinson.
1915
1916         Allows CCDelayBaseTimeSource to have it's timebase and interval updated
1917         on the fly.  Accounts for double ticking due to jitter or resetting the
1918         timer multiple times quickly.
1919
1920         CCDelayBasedTimeSourceTest updated with two tests for proper handling
1921         of jittery timebase/interval source and immediate handling of
1922         significant timebase/interval changes.
1923
1924         * platform/graphics/chromium/cc/CCDelayBasedTimeSource.cpp:
1925         (WebCore::CCDelayBasedTimeSource::CCDelayBasedTimeSource):
1926         (WebCore::CCDelayBasedTimeSource::nextTickTime):
1927         (WebCore):
1928         (WebCore::CCDelayBasedTimeSource::onTimerFired):
1929         (WebCore::CCDelayBasedTimeSource::setTimebaseAndInterval):
1930         (WebCore::CCDelayBasedTimeSource::postNextTickTask):
1931         * platform/graphics/chromium/cc/CCDelayBasedTimeSource.h:
1932
1933 2012-07-23  Alexandru Chiculita  <achicu@adobe.com>
1934
1935         [CSS Shaders] Reuse precompiled shaders across elements
1936         https://bugs.webkit.org/show_bug.cgi?id=88427
1937
1938         Reviewed by Dean Jackson.
1939
1940         Added CustomFilterProgramInfo as a link between the CustomFilterProgram and the CustomFilterCompiledProgram.
1941         CustomFilterGlobalContext now acts as a cache for the compiled shaders. Note that only the shaders displayed on the page
1942         are cached, making it useful in animations or when more elements share the same shader filter.
1943
1944         For CSS Shaders we need two files, vertex and fragment shaders, so that's why we have a CustomFilterProgram. 
1945         CustomFilterProgram is the platform object, so StyleCustomFilterProgram implements it and is referenced from the RenderStyle.
1946
1947         StyleCustomFilterProgram is also the one that actually keeps references to the CachedShaders and has all the loading logic.
1948         The only problem is that there might be multiple StyleCustomFilterProgram with the same set of CachedShaders.
1949         That's why in this patch I've added CustomFilterProgramInfo as a simple class to be used as a key in a hash map.
1950
1951         For now CustomFilterProgramInfo should act similar to a pair<String, String>. There's only one exception: one of the strings
1952         is allowed to be null. A null string is the placeholder for the default shader.
1953
1954         Note that alpha compositing and blending will be added to the CustomFilterProgramInfo after the mix() 
1955         function parsing will land in https://bugs.webkit.org/show_bug.cgi?id=90101 .
1956
1957         Test: css3/filters/custom/custom-filter-shader-reuse.html
1958
1959         * CMakeLists.txt:
1960         * GNUmakefile.list.am:
1961         * WebCore.gypi:
1962         * WebCore.vcproj/WebCore.vcproj:
1963         * WebCore.xcodeproj/project.pbxproj:
1964         * platform/graphics/filters/CustomFilterCompiledProgram.cpp:
1965         (WebCore::CustomFilterCompiledProgram::CustomFilterCompiledProgram):
1966         (WebCore::CustomFilterCompiledProgram::getDefaultShaderString): Returns the default shader based on the type.
1967         (WebCore):
1968         (WebCore::CustomFilterCompiledProgram::compileShader): Added check for isNull and used the default shader in that case.
1969         (WebCore::CustomFilterCompiledProgram::~CustomFilterCompiledProgram): Added call to CustomFilterGlobalContext::removeCompiledProgram.
1970         * platform/graphics/filters/CustomFilterCompiledProgram.h:
1971         (WebCore::CustomFilterCompiledProgram::detachFromGlobalContext): Called from ~CustomFilterGlobalContext, so that it doesn't call into a deleted object later when ~CustomFilterCompiledProgram is called. It should only happen when CustomFilterGlobalContext dies before the 
1972         CustomFilterCompiledPrograms that it caches.
1973         (WebCore):
1974         * platform/graphics/filters/CustomFilterGlobalContext.cpp:
1975         (WebCore::CustomFilterGlobalContext::~CustomFilterGlobalContext):
1976         (WebCore::CustomFilterGlobalContext::getCompiledProgram): Gets or creates a compiled shader for a specific CustomFilterProgramInfo.
1977         (WebCore):
1978         (WebCore::CustomFilterGlobalContext::removeCompiledProgram): Called by ~CustomFilterCompiledProgram.
1979         * platform/graphics/filters/CustomFilterGlobalContext.h:
1980         (WebCore):
1981         (CustomFilterGlobalContext):
1982         * platform/graphics/filters/CustomFilterProgram.cpp:
1983         (WebCore::CustomFilterProgram::programInfo):
1984         * platform/graphics/filters/CustomFilterProgram.h:
1985         (WebCore):
1986         * platform/graphics/filters/CustomFilterProgramInfo.cpp: Added.
1987         (WebCore):
1988         (WebCore::hashPossiblyNullString): We need to allow null strings in the hash, so this is a helper to check for isNull 
1989         before asking for the hash.
1990         (WebCore::CustomFilterProgramInfo::CustomFilterProgramInfo):
1991         (WebCore::CustomFilterProgramInfo::isEmptyValue):
1992         (WebCore::CustomFilterProgramInfo::isHashTableDeletedValue):
1993         (WebCore::CustomFilterProgramInfo::hash):
1994         (WebCore::CustomFilterProgramInfo::operator==):
1995         * platform/graphics/filters/CustomFilterProgramInfo.h: Added.
1996         (WebCore):
1997         (CustomFilterProgramInfo):
1998         (WebCore::CustomFilterProgramInfo::vertexShaderString):
1999         (WebCore::CustomFilterProgramInfo::fragmentShaderString):
2000         (WebCore::CustomFilterProgramInfoHash::hash):
2001         (WebCore::CustomFilterProgramInfoHash::equal):
2002         (CustomFilterProgramInfoHash): Structures needed to make this a key in the hash map.
2003         (CustomFilterProgramInfoHashTraits):
2004         (WebCore::CustomFilterProgramInfoHashTraits::isEmptyValue): I've used the deleted strings value to mark a deleted
2005         CustomFilterProgramInfo object. Those are not safe to compare to deleted, so there's a need to set safeToCompareToEmptyOrDeleted to false, meaning that there's a need to manually check for empty values.
2006         (WTF):
2007         * platform/graphics/filters/FECustomFilter.cpp:
2008         (WebCore::FECustomFilter::initializeContext): Moved to using the cached shader instead.
2009
2010 2012-08-07  Florin Malita  <fmalita@chromium.org>
2011
2012         [Chromium] Unreviewed build fix after r124879.
2013
2014         * WebCore.gypi: Remove deleted file references.
2015
2016 2012-08-07  George Staikos  <staikos@webkit.org>
2017
2018         [BlackBerry] We should fail the HTTP auth silently for non-main loads
2019         in the non-viewer process.
2020         https://bugs.webkit.org/show_bug.cgi?id=93230
2021
2022         Reviewed by Rob Buis.
2023
2024         No way to test this in WebKit.
2025
2026         * platform/network/blackberry/NetworkJob.cpp: Add early return.
2027         (WebCore::NetworkJob::sendRequestWithCredentials):
2028
2029 2012-08-07  Alexander Pavlov  <apavlov@chromium.org>
2030
2031         Web Inspector: Typing backslash in Console traverses the panel history when using German keyboard layout
2032         https://bugs.webkit.org/show_bug.cgi?id=93357
2033
2034         Reviewed by Vsevolod Vlasov.
2035
2036         For some reason, in the German keyboard layout keyIdentifier for '\' is the same as that for '['
2037         in the ordinary English-US layout.
2038         Remove a too-safe-side check and never switch panels on key combinations that result in "keypress" events.
2039
2040         * inspector/front-end/InspectorView.js:
2041         (WebInspector.InspectorView):
2042         (WebInspector.InspectorView.prototype._keyPress):
2043
2044 2012-08-07  Robin Cao  <robin.cao@torchmobile.com.cn>
2045
2046         [BlackBerry] GL scissor test is accidentally turned off
2047         https://bugs.webkit.org/show_bug.cgi?id=93360
2048         PR #161020
2049
2050         Reviewed by Antonio Gomes.
2051
2052         The GL scissor test is accidentally turned off inside drawTextures().
2053         This is wrong and should be removed.
2054
2055         * platform/graphics/blackberry/LayerCompositingThread.cpp:
2056         (WebCore::LayerCompositingThread::drawTextures):
2057
2058 2012-08-07  Abhishek Arya  <inferno@chromium.org>
2059
2060         Crash in InlineFlowBox::deleteLine.
2061         https://bugs.webkit.org/show_bug.cgi?id=88795
2062
2063         Reviewed by Tony Chang.
2064
2065         When we move the fullscreen object from its parent to RenderFullScreen, we forgot to clear the
2066         line box tree underneath the object's containing block and mark it for layout. Before the patch,
2067         the containing block never got laid out and maintained references to removed line boxes (since the
2068         object moved under RenderFullScreen did get laid out and its lineboxes replaced with new ones).
2069
2070         Test: fullscreen/full-screen-line-boxes-crash.html
2071
2072         * rendering/RenderFullScreen.cpp:
2073         (RenderFullScreen::wrapRenderer):
2074
2075 2012-08-07  Vsevolod Vlasov  <vsevik@chromium.org>
2076
2077         Web Inspector: Do not disable network tracking while profiling cpu.
2078         https://bugs.webkit.org/show_bug.cgi?id=93359
2079
2080         Reviewed by Yury Semikhatsky.
2081
2082         Removed network tracking enabling/disabling machinery.
2083
2084         * inspector/front-end/CPUProfileView.js:
2085         (WebInspector.CPUProfileType.prototype.buttonClicked):
2086         * inspector/front-end/NetworkManager.js:
2087         (WebInspector.NetworkManager.get this):
2088         (WebInspector.NetworkManager.get NetworkAgent):
2089         (WebInspector.NetworkManager):
2090         * inspector/front-end/ResourceTreeModel.js:
2091         (WebInspector.ResourceTreeModel):
2092
2093 2012-08-07  Alexei Filippov  <alexeif@chromium.org>
2094
2095         Web Inspector: make the MemoryClassInfo class a not-template
2096         https://bugs.webkit.org/show_bug.cgi?id=93265
2097
2098         Reviewed by Yury Semikhatsky.
2099
2100         * bindings/js/ScriptWrappable.h:
2101         (WebCore::ScriptWrappable::reportMemoryUsage):
2102         * bindings/v8/DOMDataStore.cpp:
2103         (WebCore::DOMDataStore::reportMemoryUsage):
2104         * bindings/v8/IntrusiveDOMWrapperMap.h:
2105         (WebCore::ChunkedTable::reportMemoryUsage):
2106         * bindings/v8/ScriptWrappable.h:
2107         (WebCore::ScriptWrappable::reportMemoryUsage):
2108         * bindings/v8/V8Binding.cpp:
2109         (WebCore::V8BindingPerIsolateData::reportMemoryUsage):
2110         (WebCore::StringCache::reportMemoryUsage):
2111         * bindings/v8/V8DOMMap.h:
2112         * css/CSSAspectRatioValue.cpp:
2113         (WebCore::CSSAspectRatioValue::reportDescendantMemoryUsage):
2114         * css/CSSBorderImageSliceValue.cpp:
2115         (WebCore::CSSBorderImageSliceValue::reportDescendantMemoryUsage):
2116         * css/CSSCalculationValue.cpp:
2117         (WebCore::CSSCalcValue::reportDescendantMemoryUsage):
2118         * css/CSSCanvasValue.cpp:
2119         (WebCore::CSSCanvasValue::reportDescendantMemoryUsage):
2120         * css/CSSCharsetRule.cpp:
2121         (WebCore::CSSCharsetRule::reportDescendantMemoryUsage):
2122         * css/CSSComputedStyleDeclaration.cpp:
2123         (WebCore::CSSComputedStyleDeclaration::reportMemoryUsage):
2124         * css/CSSCrossfadeValue.cpp:
2125         (WebCore::CSSCrossfadeValue::reportDescendantMemoryUsage):
2126         * css/CSSCursorImageValue.cpp:
2127         (WebCore::CSSCursorImageValue::reportDescendantMemoryUsage):
2128         * css/CSSFontFaceRule.cpp:
2129         (WebCore::CSSFontFaceRule::reportDescendantMemoryUsage):
2130         * css/CSSFontFaceSrcValue.cpp:
2131         (WebCore::CSSFontFaceSrcValue::reportDescendantMemoryUsage):
2132         * css/CSSFunctionValue.cpp:
2133         (WebCore::CSSFunctionValue::reportDescendantMemoryUsage):
2134         * css/CSSGradientValue.cpp:
2135         (WebCore::CSSGradientColorStop::reportMemoryUsage):
2136         (WebCore::CSSGradientValue::reportBaseClassMemoryUsage):
2137         (WebCore::CSSLinearGradientValue::reportDescendantMemoryUsage):
2138         (WebCore::CSSRadialGradientValue::reportDescendantMemoryUsage):
2139         * css/CSSImageGeneratorValue.cpp:
2140         (WebCore::CSSImageGeneratorValue::reportBaseClassMemoryUsage):
2141         * css/CSSImageSetValue.cpp:
2142         (WebCore::CSSImageSetValue::reportDescendantMemoryUsage):
2143         (WebCore::CSSImageSetValue::ImageWithScale::reportMemoryUsage):
2144         * css/CSSImageValue.cpp:
2145         (WebCore::CSSImageValue::reportDescendantMemoryUsage):
2146         * css/CSSImportRule.cpp:
2147         (WebCore::CSSImportRule::reportDescendantMemoryUsage):
2148         * css/CSSInheritedValue.cpp:
2149         (WebCore::CSSInheritedValue::reportDescendantMemoryUsage):
2150         * css/CSSInitialValue.cpp:
2151         (WebCore::CSSInitialValue::reportDescendantMemoryUsage):
2152         * css/CSSLineBoxContainValue.cpp:
2153         (WebCore::CSSLineBoxContainValue::reportDescendantMemoryUsage):
2154         * css/CSSMediaRule.cpp:
2155         (WebCore::CSSMediaRule::reportDescendantMemoryUsage):
2156         * css/CSSPageRule.cpp:
2157         (WebCore::CSSPageRule::reportDescendantMemoryUsage):
2158         * css/CSSPrimitiveValue.cpp:
2159         (WebCore::CSSPrimitiveValue::reportDescendantMemoryUsage):
2160         * css/CSSProperty.cpp:
2161         (WebCore::CSSProperty::reportMemoryUsage):
2162         * css/CSSReflectValue.cpp:
2163         (WebCore::CSSReflectValue::reportDescendantMemoryUsage):
2164         * css/CSSRule.cpp:
2165         (WebCore::CSSRule::reportBaseClassMemoryUsage):
2166         * css/CSSRuleList.cpp:
2167         (WebCore::StaticCSSRuleList::reportMemoryUsage):
2168         * css/CSSRuleList.h:
2169         * css/CSSSelectorList.cpp:
2170         (WebCore::CSSSelectorList::reportMemoryUsage):
2171         * css/CSSStyleRule.cpp:
2172         (WebCore::CSSStyleRule::reportDescendantMemoryUsage):
2173         * css/CSSStyleSheet.cpp:
2174         (WebCore::CSSStyleSheet::reportMemoryUsage):
2175         * css/CSSTimingFunctionValue.cpp:
2176         (WebCore::CSSLinearTimingFunctionValue::reportDescendantMemoryUsage):
2177         (WebCore::CSSCubicBezierTimingFunctionValue::reportDescendantMemoryUsage):
2178         (WebCore::CSSStepsTimingFunctionValue::reportDescendantMemoryUsage):
2179         * css/CSSUnicodeRangeValue.cpp:
2180         (WebCore::CSSUnicodeRangeValue::reportDescendantMemoryUsage):
2181         * css/CSSUnknownRule.h:
2182         (WebCore::CSSUnknownRule::reportDescendantMemoryUsage):
2183         * css/CSSValue.cpp:
2184         (WebCore::TextCloneCSSValue::reportDescendantMemoryUsage):
2185         * css/CSSValueList.cpp:
2186         (WebCore::CSSValueList::reportDescendantMemoryUsage):
2187         * css/CSSVariableValue.h:
2188         (WebCore::CSSVariableValue::reportDescendantMemoryUsage):
2189         * css/FontFeatureValue.cpp:
2190         (WebCore::FontFeatureValue::reportDescendantMemoryUsage):
2191         * css/FontValue.cpp:
2192         (WebCore::FontValue::reportDescendantMemoryUsage):
2193         * css/MediaList.cpp:
2194         (WebCore::MediaQuerySet::reportMemoryUsage):
2195         (WebCore::MediaList::reportMemoryUsage):
2196         * css/MediaQuery.cpp:
2197         (WebCore::MediaQuery::reportMemoryUsage):
2198         * css/MediaQueryExp.cpp:
2199         (WebCore::MediaQueryExp::reportMemoryUsage):
2200         * css/PropertySetCSSStyleDeclaration.cpp:
2201         (WebCore::PropertySetCSSStyleDeclaration::reportMemoryUsage):
2202         (WebCore::StyleRuleCSSStyleDeclaration::reportMemoryUsage):
2203         (WebCore::InlineCSSStyleDeclaration::reportMemoryUsage):
2204         * css/ShadowValue.cpp:
2205         (WebCore::ShadowValue::reportDescendantMemoryUsage):
2206         * css/StylePropertySet.cpp:
2207         (WebCore::StylePropertySet::reportMemoryUsage):
2208         * css/StyleResolver.cpp:
2209         (WebCore::StyleResolver::Features::reportMemoryUsage):
2210         (WebCore::StyleResolver::collectMatchingRulesForList):
2211         * css/StyleRule.cpp:
2212         (WebCore::StyleRuleBase::reportMemoryUsage):
2213         (WebCore::StyleRule::reportDescendantMemoryUsage):
2214         (WebCore::StyleRulePage::reportDescendantMemoryUsage):
2215         (WebCore::StyleRuleFontFace::reportDescendantMemoryUsage):
2216         (WebCore::StyleRuleBlock::reportDescendantMemoryUsage):
2217         (WebCore::StyleRuleMedia::reportDescendantMemoryUsage):
2218         (WebCore::StyleRuleRegion::reportDescendantMemoryUsage):
2219         * css/StyleRuleImport.cpp:
2220         (WebCore::StyleRuleImport::reportDescendantMemoryUsage):
2221         * css/StyleSheetContents.cpp:
2222         (WebCore::StyleSheetContents::reportMemoryUsage):
2223         * css/WebKitCSSFilterValue.cpp:
2224         (WebCore::WebKitCSSFilterValue::reportDescendantMemoryUsage):
2225         * css/WebKitCSSKeyframeRule.cpp:
2226         (WebCore::StyleKeyframe::reportMemoryUsage):
2227         (WebCore::WebKitCSSKeyframeRule::reportDescendantMemoryUsage):
2228         * css/WebKitCSSKeyframesRule.cpp:
2229         (WebCore::StyleRuleKeyframes::reportDescendantMemoryUsage):
2230         (WebCore::WebKitCSSKeyframesRule::reportDescendantMemoryUsage):
2231         * css/WebKitCSSMixFunctionValue.cpp:
2232         (WebCore::WebKitCSSMixFunctionValue::reportDescendantMemoryUsage):
2233         * css/WebKitCSSRegionRule.cpp:
2234         (WebCore::WebKitCSSRegionRule::reportDescendantMemoryUsage):
2235         * css/WebKitCSSSVGDocumentValue.cpp:
2236         (WebCore::WebKitCSSSVGDocumentValue::reportDescendantMemoryUsage):
2237         * css/WebKitCSSShaderValue.cpp:
2238         (WebCore::WebKitCSSShaderValue::reportDescendantMemoryUsage):
2239         * css/WebKitCSSTransformValue.cpp:
2240         (WebCore::WebKitCSSTransformValue::reportDescendantMemoryUsage):
2241         * dom/CharacterData.cpp:
2242         (WebCore::CharacterData::reportMemoryUsage):
2243         * dom/ContainerNode.h:
2244         (WebCore::ContainerNode::reportMemoryUsage):
2245         * dom/Document.cpp:
2246         (WebCore::Document::reportMemoryUsage):
2247         * dom/Element.h:
2248         (WebCore::Element::reportMemoryUsage):
2249         * dom/ElementAttributeData.cpp:
2250         (WebCore::ElementAttributeData::reportMemoryUsage):
2251         * dom/MemoryInstrumentation.h:
2252         (MemoryInstrumentation):
2253         (MemoryObjectInfo):
2254         (WebCore::MemoryObjectInfo::reportObjectInfo):
2255         (MemoryClassInfo):
2256         (WebCore::MemoryClassInfo::MemoryClassInfo):
2257         * dom/Node.cpp:
2258         (WebCore::Node::reportMemoryUsage):
2259         * dom/QualifiedName.h:
2260         (WebCore::QualifiedName::QualifiedNameImpl::reportMemoryUsage):
2261         (WebCore::QualifiedName::reportMemoryUsage):
2262         * loader/DocumentLoader.cpp:
2263         (WebCore::DocumentLoader::reportMemoryUsage):
2264         * loader/FrameLoader.cpp:
2265         (WebCore::FrameLoader::reportMemoryUsage):
2266         * loader/ResourceLoader.cpp:
2267         (WebCore::ResourceLoader::reportMemoryUsage):
2268         * loader/cache/CachedCSSStyleSheet.cpp:
2269         (WebCore::CachedCSSStyleSheet::reportMemoryUsage):
2270         * loader/cache/CachedFont.cpp:
2271         (WebCore::CachedFont::reportMemoryUsage):
2272         * loader/cache/CachedImage.cpp:
2273         (WebCore::CachedImage::reportMemoryUsage):
2274         * loader/cache/CachedRawResource.cpp:
2275         (WebCore::CachedRawResource::reportMemoryUsage):
2276         * loader/cache/CachedResource.cpp:
2277         (WebCore::CachedResource::reportMemoryUsage):
2278         * loader/cache/CachedResourceHandle.cpp:
2279         (WebCore::CachedResourceHandleBase::reportMemoryUsage):
2280         * loader/cache/CachedResourceLoader.cpp:
2281         (WebCore::CachedResourceLoader::reportMemoryUsage):
2282         * loader/cache/CachedSVGDocument.cpp:
2283         (WebCore::CachedSVGDocument::reportMemoryUsage):
2284         * loader/cache/CachedScript.cpp:
2285         (WebCore::CachedScript::reportMemoryUsage):
2286         * loader/cache/CachedShader.cpp:
2287         (WebCore::CachedShader::reportMemoryUsage):
2288         * loader/cache/CachedXSLStyleSheet.cpp:
2289         (WebCore::CachedXSLStyleSheet::reportMemoryUsage):
2290         * loader/cache/MemoryCache.cpp:
2291         (WebCore::MemoryCache::reportMemoryUsage):
2292         * page/Frame.cpp:
2293         (WebCore::Frame::reportMemoryUsage):
2294         * platform/SharedBuffer.cpp:
2295         (WebCore::SharedBuffer::reportMemoryUsage):
2296         * platform/TreeShared.h:
2297         (WebCore::TreeShared::reportMemoryUsage):
2298         * rendering/style/RenderStyle.cpp:
2299         (WebCore::RenderStyle::reportMemoryUsage):
2300         * rendering/style/StyleRareInheritedData.cpp:
2301         (WebCore::StyleRareInheritedData::reportMemoryUsage):
2302         * rendering/style/StyleRareNonInheritedData.cpp:
2303         (WebCore::StyleRareNonInheritedData::reportMemoryUsage):
2304         * svg/SVGColor.cpp:
2305         (WebCore::SVGColor::reportDescendantMemoryUsage):
2306         * svg/SVGPaint.cpp:
2307         (WebCore::SVGPaint::reportDescendantMemoryUsage):
2308
2309 2012-08-02  Simon Hausmann  <simon.hausmann@nokia.com>
2310
2311         [Qt] Remove Qt 4 specific code paths
2312         https://bugs.webkit.org/show_bug.cgi?id=88161
2313
2314         Reviewed by Kenneth Rohde Christiansen.
2315
2316         * Target.pri:
2317         * WebCore.pri:
2318         * bridge/qt/qt_class.cpp:
2319         (JSC::Bindings::QtClass::fallbackObject):
2320         * bridge/qt/qt_instance.cpp:
2321         (JSC::Bindings::QtInstance::getPropertyNames):
2322         (JSC::Bindings::QtInstance::stringValue):
2323         (JSC::Bindings::QtField::setValueToInstance):
2324         * bridge/qt/qt_runtime.h:
2325         (QtConnectionObject):
2326         * bridge/qt/qt_runtime_qt4.cpp: Removed.
2327         * editing/qt/SmartReplaceQt.cpp: Removed.
2328         * page/qt/EventHandlerQt.cpp:
2329         (WebCore::EventHandler::tabsToAllFormControls):
2330         * platform/graphics/GraphicsContext3D.h:
2331         * platform/graphics/OpenGLShims.cpp:
2332         (WebCore::getProcAddress):
2333         * platform/graphics/OpenGLShims.h:
2334         * platform/graphics/gstreamer/PlatformVideoWindowPrivate.h:
2335         * platform/graphics/gstreamer/PlatformVideoWindowQt.cpp:
2336         (FullScreenVideoWindow::FullScreenVideoWindow):
2337         (FullScreenVideoWindow::keyPressEvent):
2338         (FullScreenVideoWindow::event):
2339         (FullScreenVideoWindow::showFullScreen):
2340         (PlatformVideoWindow::PlatformVideoWindow):
2341         * platform/graphics/qt/GraphicsContext3DQt.cpp:
2342         (WebCore::GraphicsContext3DPrivate::blitMultisampleFramebufferAndRestoreContext):
2343         (WebCore::GraphicsContext3DPrivate::makeCurrentIfNeeded):
2344         * platform/graphics/qt/GraphicsContextQt.cpp:
2345         (WebCore::GraphicsContext::releaseWindowsContext):
2346         * platform/graphics/qt/ImageQt.cpp:
2347         (WebCore::BitmapImage::create):
2348         * platform/graphics/qt/SimpleFontDataQt.cpp:
2349         (WebCore::SimpleFontData::platformInit):
2350         * platform/graphics/texmap/TextureMapper.h:
2351         * platform/graphics/texmap/TextureMapperGL.cpp:
2352         (WebCore::TextureMapperGLData::SharedGLData::getCurrentGLContext):
2353         * platform/qt/DeviceMotionProviderQt.h:
2354         * platform/qt/DeviceOrientationProviderQt.h:
2355         * platform/qt/KURLQt.cpp:
2356         (WebCore::KURL::operator QUrl):
2357         * platform/qt/PlatformScreenQt.cpp:
2358         (WebCore::screenDepth):
2359         (WebCore::screenDepthPerComponent):
2360         (WebCore::screenIsMonochrome):
2361         (WebCore::screenRect):
2362         (WebCore::screenAvailableRect):
2363         * platform/qt/QWebPageClient.h:
2364         (QWebPageClient):
2365         * platform/qt/RenderThemeQt.cpp:
2366         * platform/text/qt/TextBreakIteratorQt.cpp: Removed.
2367         * plugins/qt/PluginContainerQt.cpp: Removed.
2368         * plugins/qt/PluginContainerQt.h: Removed.
2369         * plugins/qt/PluginPackageQt.cpp:
2370         (WebCore::PluginPackage::isPluginBlacklisted):
2371         * plugins/qt/PluginViewQt.cpp:
2372         (WebCore::PluginView::setFocus):
2373         (WebCore::PluginView::paintUsingXPixmap):
2374         (WebCore::setSharedXEventFields):
2375         (WebCore::PluginView::setNPWindowIfNeeded):
2376         (WebCore::PluginView::setParentVisible):
2377         (WebCore::PluginView::platformGetValue):
2378         (WebCore::PluginView::invalidateRect):
2379         (WebCore::getVisualAndColormap):
2380         (WebCore::PluginView::platformStart):
2381         * plugins/win/PluginViewWin.cpp:
2382         (windowHandleForPageClient):
2383
2384 2012-08-06  Andrey Kosyakov  <caseq@chromium.org>
2385
2386         Web Inspector: implement reusable progress bar
2387         https://bugs.webkit.org/show_bug.cgi?id=93267
2388
2389         - Generic progress bar implementation to be used
2390             by various long-running operations in inspector.
2391
2392         Test: inspector/progress-bar.html
2393
2394         Reviewed by Pavel Feldman.
2395
2396         * WebCore.gypi: Added ProgressBar.js
2397         * WebCore.vcproj/WebCore.vcproj: ditto.
2398         * inspector/compile-front-end.py: ditto.
2399         * inspector/front-end/AdvancedSearchController.js: renamed style for stop button.
2400         (WebInspector.SearchView):
2401         * inspector/front-end/ProgressBar.js: Added.
2402         (WebInspector.Progress): Interface for both ProgressIndicator and SubProgress.
2403         (WebInspector.Progress.prototype.setTotalWork):
2404         (WebInspector.Progress.prototype.setTitle):
2405         (WebInspector.Progress.prototype.setWorked):
2406         (WebInspector.Progress.prototype.done):
2407         (WebInspector.Progress.prototype.isCanceled):
2408         (WebInspector.ProgressIndicator): A UI control that implements Progress.
2409         (WebInspector.ProgressIndicator.prototype.show):
2410         (WebInspector.ProgressIndicator.prototype.hide):
2411         (WebInspector.ProgressIndicator.prototype.done):
2412         (WebInspector.ProgressIndicator.prototype._cancel):
2413         (WebInspector.ProgressIndicator.prototype.isCanceled):
2414         (WebInspector.ProgressIndicator.prototype.setTitle):
2415         (WebInspector.ProgressIndicator.prototype.setTotalWork):
2416         (WebInspector.ProgressIndicator.prototype.setWorked):
2417         (WebInspector.CompositeProgress): A progress bar that is composed of several SubProgress bars and uses a Progress to display total progress of all tasks.
2418         (WebInspector.CompositeProgress.prototype._childDone):
2419         (WebInspector.CompositeProgress.prototype.createSubProgress):
2420         (WebInspector.CompositeProgress.prototype._update):
2421         (WebInspector.SubProgress): A child of CompositeProgress, implements Progress interface.
2422         (WebInspector.SubProgress.prototype.isCanceled):
2423         (WebInspector.SubProgress.prototype.setTitle):
2424         (WebInspector.SubProgress.prototype.done):
2425         (WebInspector.SubProgress.prototype.setTotalWork):
2426         (WebInspector.SubProgress.prototype.setWorked):
2427         * inspector/front-end/WebKit.qrc: Added ProgressBar.js
2428         * inspector/front-end/inspector.css:
2429         (.progress-bar-stop-button-item):
2430         (.progress-bar-stop-button .glyph):
2431         (.progress-bar-container):
2432         (.progress-bar-container span):
2433         (.progress-bar-container progress):
2434         (.progress-bar-container button.status-bar-item):
2435         * inspector/front-end/inspector.html:
2436
2437 2012-08-07  Peter Rybin  <peter.rybin@gmail.com>
2438
2439         Web Inspector: display function scope in UI
2440         https://bugs.webkit.org/show_bug.cgi?id=90631
2441
2442         Reviewed by Yury Semikhatsky.
2443
2444         Two new tree element types added: function scope group node and scope node.
2445         Scope node is only used to represent closure and catch scopes. Scopes that
2446         have a real object beneath are represented as a property node.
2447         A method that reads properties from RemoteObject and populate tree element
2448         is factored out from RemoteObjectTreeElement for reuse.
2449
2450         * inspector/front-end/ObjectPropertiesSection.js:
2451         (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
2452         (WebInspector.ObjectPropertyTreeElement.Populate.callback):
2453         (WebInspector.ObjectPropertyTreeElement.Populate):
2454         (WebInspector.FunctionScopeMainTreeElement):
2455         (WebInspector.FunctionScopeMainTreeElement.prototype.onpopulate.didGetDetails):
2456         (WebInspector.FunctionScopeMainTreeElement.prototype.onpopulate):
2457         (WebInspector.FunctionScopeMainTreeElement.prototype.onattach):
2458         (WebInspector.FunctionScopeMainTreeElement.prototype.update):
2459         (WebInspector.ScopeTreeElement):
2460         (WebInspector.ScopeTreeElement.prototype.onpopulate):
2461         (WebInspector.ScopeTreeElement.prototype.onattach):
2462         (WebInspector.ScopeTreeElement.prototype.update):
2463         * inspector/front-end/RemoteObject.js:
2464         (WebInspector.RemoteObjectProperty.fromScopeValue):
2465
2466
2467 2012-08-07  Vineet Chaudhary  <rgf748@motorola.com>
2468
2469         [V8] Remove custom toV8() calls for TypedArray.
2470         https://bugs.webkit.org/show_bug.cgi?id=93248
2471
2472         Reviewed by Kentaro Hara.
2473
2474         With the support of [TypedArray] we can remove the custom calls toV8().
2475         TypedArray spec : http://www.khronos.org/registry/typedarray/specs/latest/#7
2476
2477         Tests: TestTypedArray.idl
2478         Tests under below folders should pass as this does not cause any behavioral changes.
2479                fast/canvas/webgl
2480                compositing/webgl
2481
2482         * bindings/js/JSInt8ArrayCustom.cpp:
2483         * bindings/js/JSUint8ArrayCustom.cpp:
2484         * bindings/js/JSUint8ClampedArrayCustom.cpp:
2485         * bindings/scripts/CodeGeneratorV8.pm:
2486         (GenerateImplementation): Modified Generator code to generate bindings for toV8().
2487         (IsWrapperType):
2488         (GetTypeNameOfExternalTypedArray): Method to get view type of TypedArray.
2489         * bindings/scripts/test/V8/V8Float64Array.cpp: Tests results.
2490         (WebCore::toV8):
2491         * bindings/v8/custom/V8Float32ArrayCustom.cpp: Removed custom call toV8().
2492         * bindings/v8/custom/V8Float64ArrayCustom.cpp: Ditto.
2493         * bindings/v8/custom/V8Int16ArrayCustom.cpp: Ditto.
2494         * bindings/v8/custom/V8Int32ArrayCustom.cpp: Ditto.
2495         * bindings/v8/custom/V8Int8ArrayCustom.cpp: Ditto.
2496         * bindings/v8/custom/V8Uint16ArrayCustom.cpp: Ditto.
2497         * bindings/v8/custom/V8Uint32ArrayCustom.cpp: Ditto.
2498         * bindings/v8/custom/V8Uint8ArrayCustom.cpp: Ditto.
2499         * bindings/v8/custom/V8Uint8ClampedArrayCustom.cpp: Ditto.
2500         * html/canvas/Int8Array.idl: Using TypedArray.
2501         * html/canvas/Uint8Array.idl: Ditto.
2502         * html/canvas/Uint8ClampedArray.idl: Ditto.
2503
2504 2012-08-07  Pavel Feldman  <pfeldman@chromium.org>
2505
2506         Web Inspector: [regression r121673] restore link between the command and the result.
2507         https://bugs.webkit.org/show_bug.cgi?id=93280
2508
2509         Reviewed by Vsevolod Vlasov.
2510
2511         Passing lost parameter along.
2512
2513         Test: inspector/console/console-originating-command.html
2514
2515         * inspector/front-end/ConsoleView.js:
2516         (WebInspector.ConsoleView.prototype.runScript.runCallback):
2517         (WebInspector.ConsoleView.prototype.runScript):
2518         (WebInspector.ConsoleView.prototype._printResult):
2519
2520 2012-08-07  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
2521
2522         CUSTOM_SCHEME_HANDLER flag should depend on REGISTER_PROTOCOL_HANDLER
2523         https://bugs.webkit.org/show_bug.cgi?id=93081
2524
2525         Reviewed by Adam Barth.
2526
2527         CUSTOM_SCHEME_HANDLER #if guards are enclosed in the REGISTER_PROTOCOL_HANDLER guards.
2528         The whole NavigatorRegisterProtocolHandler interface is conditional on REGISTER_PROTOCOL_HANDLER
2529         CUSTOM_SCHEME_HANDLER-specific methods only are conditional on CUSTOM_SCHEME_HANDLER.
2530
2531         No new tests. No new functionality is added.
2532
2533         * Modules/protocolhandler/NavigatorRegisterProtocolHandler.cpp:
2534         (WebCore::NavigatorRegisterProtocolHandler::registerProtocolHandler):
2535         * Modules/protocolhandler/NavigatorRegisterProtocolHandler.h:
2536         (NavigatorRegisterProtocolHandler):
2537         * Modules/protocolhandler/NavigatorRegisterProtocolHandler.idl:
2538         * Modules/protocolhandler/RegisterProtocolHandlerClient.h:
2539
2540 2012-08-07  Xingnan Wang  <xingnan.wang@intel.com>
2541
2542         IndexedDB: Size the Vector in encodeInt/encodeVarInt/encodeString
2543         https://bugs.webkit.org/show_bug.cgi?id=91813
2544
2545         Reviewed by Kentaro Hara.
2546
2547         To avoid memory re-allocation in Vector, init the capability or size of Vector in encodeInt(), encodeVarInt(),
2548         encodeBool(), encodeIDBKey() etc.
2549
2550         No new tests - Low level functions covered by existing layout tests and also covered by Chromium
2551         webkit_unit_tests IDBLevelIDBCodingTest.* which validates the sizes of buffers returned by encodeVarInt.
2552
2553         * Modules/indexeddb/IDBLevelDBCoding.cpp:
2554         (WebCore::IDBLevelDBCoding::encodeInt):
2555         (WebCore::IDBLevelDBCoding::encodeVarInt):
2556         (WebCore::IDBLevelDBCoding::encodeString):
2557
2558 2012-08-06  Arko Saha  <arko@motorola.com>
2559
2560         Microdata: itemType[index] must be undefined for out-of-range index.
2561         https://bugs.webkit.org/show_bug.cgi?id=92988
2562
2563         Reviewed by Kentaro Hara.
2564
2565         Made changes in IndexedGetter property so that it returns undefined
2566         for out-of-range index.
2567         Spec: http://www.w3.org/TR/WebIDL/#idl-indexed-properties
2568         Firefox and Opera's behavior is consistent with the spec. Both returns
2569         undefined for out-of-range index.
2570
2571         Also renamed the function name collectionStringOrNullIndexedPropertyGetter and
2572         setCollectionStringOrNullIndexedGetter to collectionStringOrUndefinedIndexedPropertyGetter
2573         and setCollectionStringOrUndefinedIndexedGetter respectively.
2574
2575         Test: fast/dom/MicroData/domsettabletokenlist-attributes-out-of-range-index.html
2576
2577         * bindings/scripts/CodeGeneratorJS.pm:
2578         (GenerateImplementation):
2579         * bindings/scripts/CodeGeneratorV8.pm:
2580         (GenerateImplementationIndexer):
2581         * bindings/v8/V8Collection.h:
2582         (WebCore::collectionStringOrUndefinedIndexedPropertyGetter):
2583         (WebCore::setCollectionStringOrUndefinedIndexedGetter):
2584
2585 2012-08-06  David Grogan  <dgrogan@chromium.org>
2586
2587         IndexedDB: Make leveldb store integer versions and migrate old schemas
2588         https://bugs.webkit.org/show_bug.cgi?id=92883
2589
2590         Reviewed by Tony Chang.
2591
2592         Our first schema change. If an existing DB doesn't have integer
2593         versions, this will add one to all object stores in the origin.
2594
2595         No new tests - chrome test for the migration forthcoming. Will involve
2596         starting with a leveldb directory from an old build of chrome, opening
2597         it up with the migration code in place, and checking the new database.
2598         http://codereview.chromium.org/10826159/
2599
2600         * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
2601         (WebCore::putVarInt):
2602         (WebCore):
2603         (WebCore::setUpMetadata):
2604         Uses the ASSERT-but-still-handle-corruption pattern recently discussed
2605         in https://bugs.webkit.org/show_bug.cgi?id=92725#c13.
2606
2607         (WebCore::IDBLevelDBBackingStore::open):
2608         (WebCore::IDBLevelDBBackingStore::getIDBDatabaseMetaData):
2609         Because we can't store negative numbers, store 0 instead of -1.
2610
2611         (WebCore::IDBLevelDBBackingStore::createIDBDatabaseMetaData):
2612         (WebCore::IDBLevelDBBackingStore::updateIDBDatabaseIntVersion):
2613         * Modules/indexeddb/IDBLevelDBCoding.h:
2614         * Modules/indexeddb/IDBMetadata.h:
2615
2616 2012-08-06  Sheriff Bot  <webkit.review.bot@gmail.com>
2617
2618         Unreviewed, rolling out r124780.
2619         http://trac.webkit.org/changeset/124780
2620         https://bugs.webkit.org/show_bug.cgi?id=93340
2621
2622         We don't want an incomplete feature set for the chromium
2623         branch cut. (Requested by annacc on #webkit).
2624
2625         * CMakeLists.txt:
2626         * DerivedSources.cpp:
2627         * DerivedSources.make:
2628         * DerivedSources.pri:
2629         * GNUmakefile.list.am:
2630         * Modules/mediasource/MediaSource.cpp: Removed.
2631         * Modules/mediasource/MediaSource.h: Removed.
2632         * Modules/mediasource/MediaSource.idl: Removed.
2633         * Modules/mediasource/MediaSourceRegistry.cpp: Removed.
2634         * Modules/mediasource/MediaSourceRegistry.h: Removed.
2635         * Modules/mediasource/SourceBuffer.cpp:
2636         (WebCore::SourceBuffer::SourceBuffer):
2637         (WebCore::SourceBuffer::buffered):
2638         (WebCore::SourceBuffer::append):
2639         (WebCore::SourceBuffer::abort):
2640         * Modules/mediasource/SourceBuffer.h:
2641         (WebCore::SourceBuffer::create):
2642         (WebCore::SourceBuffer::clear):
2643         (SourceBuffer):
2644         * Modules/mediasource/SourceBufferList.cpp:
2645         * Modules/mediasource/SourceBufferList.h:
2646         * Target.pri:
2647         * WebCore.gypi:
2648         * WebCore.vcproj/WebCore.vcproj:
2649         * WebCore.xcodeproj/project.pbxproj:
2650         * dom/EventTarget.h:
2651         (WebCore):
2652         * dom/EventTargetFactory.in:
2653         * html/DOMURL.cpp:
2654         * html/DOMURL.h:
2655         (WebCore):
2656         (DOMURL):
2657         * html/DOMURL.idl:
2658         * page/DOMWindow.idl:
2659
2660 2012-08-06  Sheriff Bot  <webkit.review.bot@gmail.com>
2661
2662         Unreviewed, rolling out r124798.
2663         http://trac.webkit.org/changeset/124798
2664         https://bugs.webkit.org/show_bug.cgi?id=93337
2665
2666         We don't want an incomplete feature set for the chromium
2667         branch cut. (Requested by annacc on #webkit).
2668
2669         * html/DOMURL.cpp:
2670         (WebCore::DOMURL::createObjectURL):
2671         * html/PublicURLManager.h:
2672         (WebCore::PublicURLManager::contextDestroyed):
2673         (PublicURLManager):
2674
2675 2012-08-06  Sheriff Bot  <webkit.review.bot@gmail.com>
2676
2677         Unreviewed, rolling out r124848.
2678         http://trac.webkit.org/changeset/124848
2679         https://bugs.webkit.org/show_bug.cgi?id=93336
2680
2681         Caused 3 tests to crash on chromium Linux32/Mac10.6/Linux
2682         (Requested by toyoshim on #webkit).
2683
2684         * html/HTMLMediaElement.cpp:
2685         (WebCore):
2686         (WebCore::HTMLMediaElement::HTMLMediaElement):
2687         (WebCore::HTMLMediaElement::parseAttribute):
2688         (WebCore::HTMLMediaElement::prepareForLoad):
2689         (WebCore::HTMLMediaElement::loadResource):
2690         (WebCore::HTMLMediaElement::noneSupported):
2691         (WebCore::HTMLMediaElement::mediaEngineError):
2692         (WebCore::HTMLMediaElement::mediaPlayerSourceOpened):
2693         (WebCore::HTMLMediaElement::isValidSourceId):
2694         (WebCore::HTMLMediaElement::seek):
2695         (WebCore::HTMLMediaElement::webkitSourceAddId):
2696         (WebCore::HTMLMediaElement::webkitSourceRemoveId):
2697         (WebCore::HTMLMediaElement::webkitSourceBuffered):
2698         (WebCore::HTMLMediaElement::webkitSourceAppend):
2699         (WebCore::HTMLMediaElement::webkitSourceAbort):
2700         (WebCore::HTMLMediaElement::webkitSourceEndOfStream):
2701         (WebCore::HTMLMediaElement::webkitSourceState):
2702         (WebCore::HTMLMediaElement::setSourceState):
2703         (WebCore::HTMLMediaElement::userCancelledLoad):
2704         (WebCore::HTMLMediaElement::createMediaPlayer):
2705         * html/HTMLMediaElement.h:
2706         (HTMLMediaElement):
2707         * html/HTMLMediaElement.idl:
2708
2709 2012-08-06  Anna Cavender  <annacc@chromium.org>
2710
2711         Update HTMLMediaElement to the new OO MediaSource API.
2712         https://bugs.webkit.org/show_bug.cgi?id=91775
2713
2714         Reviewed by Eric Carlson.
2715
2716         This patch rips out the old-style MediaSource API and allows a
2717         MediaSource object to be attached to HTMLMediaElement.
2718         http://dvcs.w3.org/hg/html-media/raw-file/tip/media-source/media-source.html
2719
2720         Test: http/tests/media/media-source/video-media-source-add-and-remove-buffers.html
2721
2722         Tests: updates to http/tests/media/media-source/*
2723
2724         * html/HTMLMediaElement.cpp:
2725         (WebCore):
2726         (WebCore::HTMLMediaElement::HTMLMediaElement): Remove old style API resources.
2727         (WebCore::HTMLMediaElement::parseAttribute): Remove old style event attributes.
2728         (WebCore::HTMLMediaElement::prepareForLoad): Set source state to "closed".
2729         (WebCore::HTMLMediaElement::loadResource): Get MediaSource object from blob registry
2730             look up and, if found, set it's MediaPlayer pointer to the current MediaPlayer.
2731         (WebCore::HTMLMediaElement::noneSupported): Set source state to "closed".
2732         (WebCore::HTMLMediaElement::mediaEngineError): Set source state to "closed".
2733         (WebCore::HTMLMediaElement::mediaPlayerSourceOpened): Set source state to "open".
2734         (WebCore::HTMLMediaElement::mediaPlayerSourceURL): Change to new blob URL.
2735         (WebCore::HTMLMediaElement::seek): Check if source state is "closed".
2736         (WebCore::HTMLMediaElement::setSourceState): Helper function so that we don't have to
2737             keep checking for m_mediaSource.
2738         (WebCore::HTMLMediaElement::userCancelledLoad): Set source state to "closed".
2739         (WebCore::HTMLMediaElement::createMediaPlayer): If the current MediaPlayer is re-
2740             created, notify the MediaSource and reset its MediaPlayer.
2741
2742         * html/HTMLMediaElement.h: Remove old style API code and add a MediaSource object.
2743         (HTMLMediaElement):
2744         * html/HTMLMediaElement.idl: Remove old style API.
2745
2746 2012-08-06  Adam Barth  <abarth@webkit.org>
2747
2748         BindingSecurity::shouldAllowAccessToFrame shouldn't use a raw boolean parameter
2749         https://bugs.webkit.org/show_bug.cgi?id=93323
2750
2751         Reviewed by Eric Seidel.
2752
2753         As requested by Eric. This patch also renames the function to match its
2754         counterpart in the JavaScriptCore bindings.
2755
2756         * bindings/generic/BindingSecurity.cpp:
2757         (WebCore::canAccessDocument):
2758         (WebCore::BindingSecurity::shouldAllowAccessToFrame):
2759         (WebCore::BindingSecurity::shouldAllowAccessToNode):
2760         (WebCore::BindingSecurity::allowSettingFrameSrcToJavascriptUrl):
2761         * bindings/generic/BindingSecurity.h:
2762         (BindingSecurity):
2763         * bindings/scripts/CodeGeneratorV8.pm:
2764         (GenerateDomainSafeFunctionGetter):
2765         (GenerateReplaceableAttrSetter):
2766         (GenerateFunctionCallback):
2767         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
2768         (WebCore::TestActiveDOMObjectV8Internal::excitingFunctionCallback):
2769         (WebCore::TestActiveDOMObjectV8Internal::postMessageAttrGetter):
2770         * bindings/v8/ScriptController.cpp:
2771         (WebCore::ScriptController::canAccessFromCurrentOrigin):
2772         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2773         (WebCore::WindowSetTimeoutImpl):
2774         (WebCore::V8DOMWindow::eventAccessorGetter):
2775         (WebCore::V8DOMWindow::eventAccessorSetter):
2776         (WebCore::V8DOMWindow::openerAccessorSetter):
2777         (WebCore::V8DOMWindow::addEventListenerCallback):
2778         (WebCore::V8DOMWindow::removeEventListenerCallback):
2779         (WebCore::V8DOMWindow::showModalDialogCallback):
2780         (WebCore::V8DOMWindow::openCallback):
2781         (WebCore::V8DOMWindow::namedSecurityCheck):
2782         (WebCore::V8DOMWindow::indexedSecurityCheck):
2783         * bindings/v8/custom/V8HistoryCustom.cpp:
2784         (WebCore::V8History::indexedSecurityCheck):
2785         (WebCore::V8History::namedSecurityCheck):
2786         * bindings/v8/custom/V8InjectedScriptManager.cpp:
2787         (WebCore::InjectedScriptManager::canAccessInspectedWindow):
2788         * bindings/v8/custom/V8LocationCustom.cpp:
2789         (WebCore::V8Location::reloadAccessorGetter):
2790         (WebCore::V8Location::replaceAccessorGetter):
2791         (WebCore::V8Location::assignAccessorGetter):
2792         (WebCore::V8Location::toStringCallback):
2793         (WebCore::V8Location::indexedSecurityCheck):
2794         (WebCore::V8Location::namedSecurityCheck):
2795
2796 2012-08-06  Yuta Kitamura  <yutak@chromium.org>
2797
2798         WebSocket.send() should accept ArrayBufferView
2799         https://bugs.webkit.org/show_bug.cgi?id=90877
2800
2801         Reviewed by Kent Tamura.
2802
2803         Accept ArrayBufferView as an argument of WebSocket.send() to comply with recent change
2804         in specification: <http://html5.org/tools/web-apps-tracker?from=7084&to=7085>.
2805
2806         Once WebSocket.send(ArrayBuffer) was removed from the specification, but added back
2807         in <http://html5.org/tools/web-apps-tracker?from=7202&to=7203>. Thus the functionality
2808         of send(ArrayBuffer) is kept as-is.
2809
2810         Tests: http/tests/websocket/tests/hybi/send-arraybufferview.html
2811                http/tests/websocket/tests/hybi/workers/send-arraybufferview.html
2812
2813         * Modules/websockets/ThreadableWebSocketChannel.h:
2814         Change the signature of send() to receive offset and length so the clients can send
2815         subrange of an ArrayBuffer.
2816         * Modules/websockets/WebSocket.cpp:
2817         (WebCore::WebSocket::send):
2818         WebSocket.send(ArrayBufferView) is added, which puts the sub region of the given
2819         ArrayBuffer into the outgoing frame queue.
2820         * Modules/websockets/WebSocket.h:
2821         * Modules/websockets/WebSocket.idl:
2822         * Modules/websockets/WebSocketChannel.cpp:
2823         (WebCore::WebSocketChannel::send):
2824         * Modules/websockets/WebSocketChannel.h:
2825         (WebSocketChannel):
2826         * Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
2827         (WebCore::WorkerThreadableWebSocketChannel::send):
2828         (WebCore::WorkerThreadableWebSocketChannel::Peer::send):
2829         (WebCore::WorkerThreadableWebSocketChannel::Bridge::send):
2830         Send only necessary part of data to the main thread.
2831         * Modules/websockets/WorkerThreadableWebSocketChannel.h:
2832         (WorkerThreadableWebSocketChannel):
2833         (Bridge):
2834         * bindings/js/JSWebSocketCustom.cpp:
2835         (WebCore::JSWebSocket::send): Accept ArrayBufferView in send().
2836         * bindings/v8/custom/V8WebSocketCustom.cpp:
2837         (WebCore::V8WebSocket::sendCallback): Ditto.
2838
2839 2012-08-06  James Robinson  <jamesr@chromium.org>
2840
2841         [chromium] Add gyp variable to control which compositor target is depended on
2842         https://bugs.webkit.org/show_bug.cgi?id=93165
2843
2844         Reviewed by Adam Barth.
2845
2846         This adds a use_libcc_for_compositor gyp variable to control whether webcore_platform links in the compositor
2847         code from the webcore_chromium_compositor target or from cc from the chromium repo.
2848
2849         * WebCore.gyp/WebCore.gyp:
2850         * WebCore.gypi:
2851
2852 2012-08-06  Shinya Kawanaka  <shinyak@chromium.org>
2853
2854         Crash in GenericEventQueue::timerFired since the owner of GenericEventQueue is deleted during dispatching events.
2855         https://bugs.webkit.org/show_bug.cgi?id=92946
2856
2857         Reviewed by Eric Carlson.
2858
2859         In GenericEventQueue::timerFired(), the owner of GenericEventQueue might be deleted.
2860         We have to protect the owner of GenericEventQueue during dispatching events.
2861
2862         Test: media/event-queue-crash.html
2863
2864         * dom/GenericEventQueue.cpp:
2865         (WebCore::GenericEventQueue::timerFired): Added a protection.
2866
2867 2012-08-06  Joshua Bell  <jsbell@chromium.org>
2868
2869         IndexedDB: Remove IDBRequest::finishCursor() and plumbing
2870         https://bugs.webkit.org/show_bug.cgi?id=93274
2871
2872         Reviewed by Tony Chang.
2873
2874         Delete an unused flag and code for setting it, rendered obsolete in r123275.
2875
2876         No new tests - no functional changes.
2877
2878         * Modules/indexeddb/IDBCursor.cpp:
2879         (WebCore::IDBCursor::close):
2880         * Modules/indexeddb/IDBRequest.cpp:
2881         (WebCore::IDBRequest::IDBRequest):
2882         * Modules/indexeddb/IDBRequest.h:
2883         (IDBRequest):
2884
2885 2012-08-06  James Robinson  <jamesr@chromium.org>
2886
2887         [chromium] Remove lingering unwrap<>() calls in GraphicsLayerChromium.cpp
2888         https://bugs.webkit.org/show_bug.cgi?id=93319
2889
2890         Reviewed by Adrienne Walker.
2891
2892         Gets rid of all (but one) of the remaining unwrap<LayerChromium>() calls in GraphicsLayer chromium to avoid
2893         punching through the WebLayer API.  Covered by many layout tests, mostly in compositing/
2894
2895         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
2896         (WebCore::GraphicsLayerChromium::willBeDestroyed):
2897         (WebCore::GraphicsLayerChromium::setName):
2898         (WebCore::GraphicsLayerChromium::updateNames):
2899         (WebCore::GraphicsLayerChromium::setMaskLayer):
2900         (WebCore::GraphicsLayerChromium::setReplicatedByLayer):
2901         (WebCore::GraphicsLayerChromium::setContentsToImage):
2902         (WebCore::GraphicsLayerChromium::setContentsToCanvas):
2903         (WebCore::GraphicsLayerChromium::setContentsToMedia):
2904         (WebCore::GraphicsLayerChromium::updateChildList):
2905         (WebCore::GraphicsLayerChromium::setupContentsLayer):
2906         * platform/graphics/chromium/GraphicsLayerChromium.h:
2907         (GraphicsLayerChromium):
2908
2909 2012-08-06  Adrienne Walker  <enne@google.com>
2910
2911         [chromium] Convert WebScrollbarThemeGeometry from a concrete class to an interface
2912         https://bugs.webkit.org/show_bug.cgi?id=93308
2913
2914         Reviewed by James Robinson.
2915
2916         Convert WebScrollbarThemeGeometry to be an interface. Create a new
2917         WebScrollbarThemeGeometryNative implementation to wrap a native theme
2918         pointer.
2919
2920         Update ScrollbarLayerChromium/CCScrollbarLayerImpl to use a pointer to
2921         this interface rather than a concrete member variable. Because both
2922         layer types need to access the theme during painting or compositing
2923         and either layer could go away at any time, the theme is cloned during
2924         commit rather than dealing with refcounting across threads or having
2925         one layer type be the sole owner.
2926
2927         * WebCore.gypi:
2928         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
2929         (WebCore::createScrollbarLayer):
2930         * platform/chromium/support/WebScrollbarThemeGeometryNative.cpp: Renamed from Source/WebKit/chromium/src/WebScrollbarThemeGeometry.cpp.
2931         (WebKit):
2932         (WebKit::WebScrollbarThemeGeometryNative::create):
2933         (WebKit::WebScrollbarThemeGeometryNative::WebScrollbarThemeGeometryNative):
2934         (WebKit::WebScrollbarThemeGeometryNative::clone):
2935         (WebKit::WebScrollbarThemeGeometryNative::thumbPosition):
2936         (WebKit::WebScrollbarThemeGeometryNative::thumbLength):
2937         (WebKit::WebScrollbarThemeGeometryNative::trackPosition):
2938         (WebKit::WebScrollbarThemeGeometryNative::trackLength):
2939         (WebKit::WebScrollbarThemeGeometryNative::hasButtons):
2940         (WebKit::WebScrollbarThemeGeometryNative::hasThumb):
2941         (WebKit::WebScrollbarThemeGeometryNative::trackRect):
2942         (WebKit::WebScrollbarThemeGeometryNative::thumbRect):
2943         (WebKit::WebScrollbarThemeGeometryNative::minimumThumbLength):
2944         (WebKit::WebScrollbarThemeGeometryNative::scrollbarThickness):
2945         (WebKit::WebScrollbarThemeGeometryNative::backButtonStartRect):
2946         (WebKit::WebScrollbarThemeGeometryNative::backButtonEndRect):
2947         (WebKit::WebScrollbarThemeGeometryNative::forwardButtonStartRect):
2948         (WebKit::WebScrollbarThemeGeometryNative::forwardButtonEndRect):
2949         (WebKit::WebScrollbarThemeGeometryNative::constrainTrackRectToTrackPieces):
2950         (WebKit::WebScrollbarThemeGeometryNative::splitTrack):
2951         * platform/chromium/support/WebScrollbarThemeGeometryNative.h: Added.
2952         (WebKit):
2953         (WebScrollbarThemeGeometryNative):
2954         * platform/graphics/chromium/ScrollbarLayerChromium.cpp:
2955         (WebCore::ScrollbarLayerChromium::create):
2956         (WebCore::ScrollbarLayerChromium::ScrollbarLayerChromium):
2957         (WebCore::ScrollbarLayerChromium::pushPropertiesTo):
2958         (WebCore::ScrollbarBackgroundPainter::create):
2959         (WebCore::ScrollbarBackgroundPainter::ScrollbarBackgroundPainter):
2960         (ScrollbarBackgroundPainter):
2961         (WebCore::ScrollbarThumbPainter::create):
2962         (WebCore::ScrollbarThumbPainter::ScrollbarThumbPainter):
2963         (ScrollbarThumbPainter):
2964         (WebCore::ScrollbarLayerChromium::createTextureUpdaterIfNeeded):
2965         (WebCore::ScrollbarLayerChromium::setTexturePriorities):
2966         (WebCore::ScrollbarLayerChromium::update):
2967         * platform/graphics/chromium/ScrollbarLayerChromium.h:
2968         (ScrollbarLayerChromium):
2969         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
2970         (WebCore::CCScrollbarLayerImpl::setScrollbarGeometry):
2971         (WebCore::CCScrollbarLayerImpl::setScrollbarData):
2972         (WebCore::CCScrollbarLayerImpl::appendQuads):
2973         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
2974         (WebCore::CCScrollbarLayerImpl::scrollbarGeometry):
2975         (CCScrollbarLayerImpl):
2976
2977 2012-08-06  Adam Barth  <abarth@webkit.org>
2978
2979         JSC should use BindingState to determine the activeDOMWindow
2980         https://bugs.webkit.org/show_bug.cgi?id=93307
2981
2982         Reviewed by Eric Seidel.
2983
2984         This patch moves activeDOMWindow from JSDOMBindings.cpp to
2985         BindingState.cpp. This is a first step towards sharing the core
2986         security logic in the bindings between JavaScriptCore and V8. Once the
2987         logic is shared, we will be able to refactor the logic to avoid the
2988         need for DOMWindow::m_securityOrigin.
2989
2990         This patch doesn't actually share any code (yet). It just sets the
2991         stage by creating BindingState as a typedef of ExecState and adding the
2992         appropriate files to the build systems.
2993
2994         This patch also renames activeWindow and firstWindow in the V8 bindings
2995         to activeDOMWindow and firstDOMWindow to match the names in the
2996         JavaScriptCore bindings.
2997
2998         * GNUmakefile.list.am:
2999         * Target.pri:
3000         * UseJSC.cmake:
3001         * WebCore.gypi:
3002         * WebCore.vcproj/WebCore.vcproj:
3003         * WebCore.xcodeproj/project.pbxproj:
3004         * bindings/generic/BindingSecurity.cpp:
3005         (WebCore::canAccessDocument):
3006         * bindings/js/JSBindingsAllInOne.cpp:
3007         * bindings/js/JSDOMBinding.cpp:
3008         (WebCore):
3009         * bindings/js/JSDOMBinding.h:
3010         (WebCore):
3011         * bindings/v8/BindingState.cpp:
3012         (WebCore::activeDOMWindow):
3013         (WebCore::firstDOMWindow):
3014         * bindings/v8/BindingState.h:
3015         (WebCore):
3016         * bindings/v8/custom/V8DOMWindowCustom.cpp:
3017         (WebCore::V8DOMWindow::locationAccessorSetter):
3018         (WebCore::handlePostMessageCallback):
3019         (WebCore::V8DOMWindow::showModalDialogCallback):
3020         (WebCore::V8DOMWindow::openCallback):
3021         * bindings/v8/custom/V8DocumentLocationCustom.cpp:
3022         (WebCore::V8Document::locationAccessorSetter):
3023         * bindings/v8/custom/V8LocationCustom.cpp:
3024         (WebCore::V8Location::hashAccessorSetter):
3025         (WebCore::V8Location::hostAccessorSetter):
3026         (WebCore::V8Location::hostnameAccessorSetter):
3027         (WebCore::V8Location::hrefAccessorSetter):
3028         (WebCore::V8Location::pathnameAccessorSetter):
3029         (WebCore::V8Location::portAccessorSetter):
3030         (WebCore::V8Location::protocolAccessorSetter):
3031         (WebCore::V8Location::searchAccessorSetter):
3032         (WebCore::V8Location::reloadCallback):
3033         (WebCore::V8Location::replaceCallback):
3034         (WebCore::V8Location::assignCallback):
3035
3036 2012-08-05  Kent Tamura  <tkent@chromium.org>
3037
3038         [Chromium-Mac] Use the default locale only if the browser locale matches to it
3039         https://bugs.webkit.org/show_bug.cgi?id=93227
3040
3041         Reviewed by Hajime Morita.
3042
3043         For a calendar picker, we have used month names and day-of-week names
3044         obtained from the OS default locale. However, the year-month format and
3045         [Today] [Clear] labels are decided with the browser locale. It made
3046         calendar pickers with mixed languages.
3047
3048         To make calendar pickers with a single language, we use the OS default
3049         locale only if the browser locale matches to it.
3050
3051         No new tests. Behavior for locale setting is not testable in WebKit.
3052
3053         * platform/text/mac/LocaleMac.mm:
3054         (WebCore::languageFromLocale):
3055         A helper for determineLocale. This returns the language part of the
3056         specified locale identifier.
3057         (WebCore::determineLocale):
3058         If the browser language matches to the language of the current NSLocale,
3059         returns the current NSLocale. Otherwise, returns a NSLocale with the
3060         browser language.
3061         Note that [NSLolca localeIdentifier] returns a string in
3062         <language>_<country> format though defaultLanguage() in Chromium returns
3063         a string in <language>-<country> format.
3064         (WebCore::LocaleMac::currentLocale):
3065         Use determineLocale.
3066
3067 2012-08-06  Luke Macpherson   <macpherson@chromium.org>
3068
3069         Handle variables in CSSParser::parseValidPrimitive(), preventing null return value.
3070         https://bugs.webkit.org/show_bug.cgi?id=93235
3071
3072         Reviewed by Tony Chang.
3073
3074         By returning null here (and failing to handle the variable) the current code would cause null pointer dereferences in StyleResolver at several points.
3075         Instead we create a primitive value for the variable reference and return it.
3076
3077         Test: fast/css/variables/invalid-font-reference.html
3078
3079         * css/CSSParser.cpp:
3080         (WebCore::CSSParser::parseValidPrimitive):
3081
3082 2012-08-06  David Reveman  <reveman@chromium.org>
3083
3084         [Chromium] Rename CCTextureUpdater to CCTextureUpdateQueue.
3085         https://bugs.webkit.org/show_bug.cgi?id=93293
3086
3087         Reviewed by Adrienne Walker.
3088
3089         No new tests.
3090
3091         * WebCore.gypi:
3092         * platform/graphics/chromium/ContentLayerChromium.cpp:
3093         (WebCore::ContentLayerChromium::update):
3094         * platform/graphics/chromium/ContentLayerChromium.h:
3095         (ContentLayerChromium):
3096         * platform/graphics/chromium/HeadsUpDisplayLayerChromium.cpp:
3097         (WebCore::HeadsUpDisplayLayerChromium::update):
3098         * platform/graphics/chromium/HeadsUpDisplayLayerChromium.h:
3099         (HeadsUpDisplayLayerChromium):
3100         * platform/graphics/chromium/ImageLayerChromium.cpp:
3101         (WebCore::ImageLayerChromium::update):
3102         * platform/graphics/chromium/ImageLayerChromium.h:
3103         (ImageLayerChromium):
3104         * platform/graphics/chromium/LayerChromium.h:
3105         (WebCore):
3106         (WebCore::LayerChromium::update):
3107         * platform/graphics/chromium/ScrollbarLayerChromium.cpp:
3108         (WebCore::ScrollbarLayerChromium::updatePart):
3109         (WebCore::ScrollbarLayerChromium::update):
3110         * platform/graphics/chromium/ScrollbarLayerChromium.h:
3111         (WebCore):
3112         (ScrollbarLayerChromium):
3113         * platform/graphics/chromium/TextureLayerChromium.cpp:
3114         (WebCore::TextureLayerChromium::update):
3115         * platform/graphics/chromium/TextureLayerChromium.h:
3116         (TextureLayerChromiumClient):
3117         (TextureLayerChromium):
3118         * platform/graphics/chromium/TiledLayerChromium.cpp:
3119         (WebCore::TiledLayerChromium::updateTiles):
3120         (WebCore::TiledLayerChromium::updateContentRect):
3121         * platform/graphics/chromium/TiledLayerChromium.h:
3122         (TiledLayerChromium):
3123         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
3124         (WebCore::CCLayerTreeHost::updateLayers):
3125         (WebCore::CCLayerTreeHost::paintMasksForRenderSurface):
3126         (WebCore::CCLayerTreeHost::paintLayerContents):
3127         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
3128         (WebCore):
3129         (CCLayerTreeHost):
3130         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
3131         (WebCore::CCSingleThreadProxy::doCommit):
3132         (WebCore::CCSingleThreadProxy::commitAndComposite):
3133         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
3134         * platform/graphics/chromium/cc/CCTextureUpdateController.cpp:
3135         (WebCore::CCTextureUpdateController::updateTextures):
3136         (WebCore::CCTextureUpdateController::CCTextureUpdateController):
3137         (WebCore::CCTextureUpdateController::hasMoreUpdates):
3138         (WebCore::CCTextureUpdateController::updateMoreTextures):
3139         * platform/graphics/chromium/cc/CCTextureUpdateController.h:
3140         (WebCore::CCTextureUpdateController::create):
3141         (CCTextureUpdateController):
3142         * platform/graphics/chromium/cc/CCTextureUpdateQueue.cpp: Renamed from Source/WebCore/platform/graphics/chromium/cc/CCTextureUpdater.cpp.
3143         (WebCore):
3144         (WebCore::CCTextureUpdateQueue::CCTextureUpdateQueue):
3145         (WebCore::CCTextureUpdateQueue::~CCTextureUpdateQueue):
3146         (WebCore::CCTextureUpdateQueue::appendFullUpload):
3147         (WebCore::CCTextureUpdateQueue::appendPartialUpload):
3148         (WebCore::CCTextureUpdateQueue::appendCopy):
3149         (WebCore::CCTextureUpdateQueue::takeFirstFullUpload):
3150         (WebCore::CCTextureUpdateQueue::takeFirstPartialUpload):
3151         (WebCore::CCTextureUpdateQueue::takeFirstCopy):
3152         (WebCore::CCTextureUpdateQueue::hasMoreUpdates):
3153         * platform/graphics/chromium/cc/CCTextureUpdateQueue.h: Renamed from Source/WebCore/platform/graphics/chromium/cc/CCTextureUpdater.h.
3154         (WebCore):
3155         (CCTextureUpdateQueue):
3156         (WebCore::CCTextureUpdateQueue::fullUploadSize):
3157         (WebCore::CCTextureUpdateQueue::partialUploadSize):
3158         (WebCore::CCTextureUpdateQueue::copySize):
3159         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
3160         (WebCore::CCThreadProxy::beginFrame):
3161         (WebCore::CCThreadProxy::beginFrameCompleteOnImplThread):
3162         * platform/graphics/chromium/cc/CCThreadProxy.h:
3163         (WebCore):
3164         (CCThreadProxy):
3165
3166 2012-08-06  Anders Carlsson  <andersca@apple.com>
3167
3168         Clear out the TileCache backpointer for all tile layers when the tile cache is destroyed
3169         https://bugs.webkit.org/show_bug.cgi?id=93317
3170         <rdar://problem/11566543>
3171
3172         Reviewed by Dean Jackson.
3173
3174         It seems that in some rare cases, the tile cache layer can be destroyed in the same transaction as tile layers
3175         are being asked to paint. Make sure to null out the TileCache back pointer for all layers in the TileCache destructor.
3176
3177         * platform/graphics/ca/mac/TileCache.mm:
3178         (WebCore::TileCache::~TileCache):
3179
3180 2012-08-06  Sheriff Bot  <webkit.review.bot@gmail.com>
3181
3182         Unreviewed, rolling out r124816.
3183         http://trac.webkit.org/changeset/124816
3184         https://bugs.webkit.org/show_bug.cgi?id=93311
3185
3186         made some tests crash (Requested by noamr on #webkit).
3187
3188         * platform/graphics/GraphicsLayerAnimation.cpp:
3189         (WebCore::GraphicsLayerAnimation::GraphicsLayerAnimation):
3190         (WebCore::GraphicsLayerAnimations::hasActiveAnimationsOfType):
3191         (WebCore::GraphicsLayerAnimations::hasRunningAnimations):
3192         (WebCore::GraphicsLayerAnimations::add):
3193         (WebCore::GraphicsLayerAnimations::pause):
3194         (WebCore::GraphicsLayerAnimations::apply):
3195         * platform/graphics/GraphicsLayerAnimation.h:
3196         (GraphicsLayerAnimation):
3197         (GraphicsLayerAnimations):
3198         (WebCore::GraphicsLayerAnimations::remove):
3199         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
3200         (WebCore::GraphicsLayerTextureMapper::addAnimation):
3201
3202 2012-08-06  Max Vujovic  <mvujovic@adobe.com>
3203
3204         [CSS Shaders] Parse mix function
3205         https://bugs.webkit.org/show_bug.cgi?id=90101
3206
3207         Reviewed by Dirk Schulze.
3208
3209         Parse the mix function syntax for CSS Shaders as defined in the Filter Effects spec:
3210         https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html#FilterFunction
3211
3212         The fragment shader argument of the custom filter function can now be a mix function with
3213         the following syntax:
3214         mix(<uri> [ <blend-mode> || <alpha-compositing> ]?)
3215
3216         For example:
3217         -webkit-filter: custom(url(shader.vert) mix(url(shader.frag multiply source-over))
3218
3219         The Filter Effects spec references the Compositing and Blending spec, which defines the
3220         supported blend modes and alpha compositing modes.
3221
3222         Blend modes:
3223         https://dvcs.w3.org/hg/FXTF/rawfile/tip/compositing/index.html#blend-mode
3224
3225         This patch adds all of the blend modes in the spec.
3226
3227         Alpha compositing modes:
3228         https://dvcs.w3.org/hg/FXTF/rawfile/tip/compositing/index.html#alpha-compositing
3229
3230         This patch does not add any new CSS values for alpha compositing. Currently, we parse the
3231         values that are the same between the spec and the -webkit-background-composite property,
3232         including:
3233             clear
3234             copy
3235             source-over
3236             source-in
3237             source-out
3238             source-atop
3239             destination-over
3240             destination-in
3241             destination-out
3242             destination-atop
3243             xor
3244
3245         In the future, we may need to add the following CSS values for alpha compositing:
3246             lighter
3247             destination
3248
3249         This is currently under discussion on the www-style mailing list:
3250         http://lists.w3.org/Archives/Public/www-style/2012Aug/0123.html
3251
3252         No new test files. Add test cases in:
3253             css3/filters/script-tests/custom-filter-property-computed-style.js:
3254             css3/filters/script-tests/custom-filter-property-parsing-invalid.js:
3255             css3/filters/script-tests/custom-filter-property-parsing.js:
3256
3257         * GNUmakefile.list.am:
3258         * Target.pri:
3259         * WebCore.gypi:
3260         * WebCore.vcproj/WebCore.vcproj:
3261         * WebCore.xcodeproj/project.pbxproj:
3262         * css/CSSComputedStyleDeclaration.cpp:
3263         (WebCore::CSSComputedStyleDeclaration::valueForFilter):
3264         * css/CSSParser.cpp:
3265         (WebCore::CSSParser::isBlendMode):
3266         (WebCore):
3267         (WebCore::CSSParser::isCompositeOperator):
3268         (WebCore::CSSParser::parseMixFunction):
3269         (WebCore::CSSParser::parseCustomFilter):
3270         * css/CSSParser.h:
3271         (WebCore):
3272         * css/CSSParserValues.h:
3273         (WebCore::CSSParserValueList::currentIndex):
3274         * css/CSSPrimitiveValueMappings.h:
3275         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
3276         (WebCore):
3277         (WebCore::CSSPrimitiveValue::operator BlendMode):
3278         * css/CSSValue.cpp:
3279         (WebCore::CSSValue::reportMemoryUsage):
3280         (WebCore::CSSValue::cssText):
3281         (WebCore::CSSValue::destroy):
3282         (WebCore::CSSValue::cloneForCSSOM):
3283         * css/CSSValue.h:
3284         (WebCore::CSSValue::isWebKitCSSMixFunctionValue):
3285         (CSSValue):
3286         * css/CSSValueKeywords.in:
3287         * css/StyleResolver.cpp:
3288         (WebCore::StyleResolver::collectMatchingRulesForList):
3289         * css/WebKitCSSMixFunctionValue.cpp: Added.
3290         (WebCore):
3291         (WebCore::WebKitCSSMixFunctionValue::WebKitCSSMixFunctionValue):
3292         (WebCore::WebKitCSSMixFunctionValue::customCssText):
3293         (WebCore::WebKitCSSMixFunctionValue::cloneForCSSOM):
3294         (WebCore::WebKitCSSMixFunctionValue::reportDescendantMemoryUsage):
3295         * css/WebKitCSSMixFunctionValue.h: Added.
3296         (WebCore):
3297         (WebKitCSSMixFunctionValue):
3298         (WebCore::WebKitCSSMixFunctionValue::create):
3299         * platform/graphics/GraphicsTypes.h:
3300         * platform/graphics/filters/CustomFilterProgram.cpp:
3301         (WebCore::CustomFilterProgram::CustomFilterProgram):
3302         * platform/graphics/filters/CustomFilterProgram.h:
3303         (WebCore::CustomFilterProgramMixSettings::CustomFilterProgramMixSettings):
3304         (CustomFilterProgramMixSettings):
3305         (WebCore):
3306         * rendering/style/StyleCustomFilterProgram.h:
3307         (WebCore::StyleCustomFilterProgram::create):
3308         (WebCore::StyleCustomFilterProgram::StyleCustomFilterProgram):
3309
3310 2012-08-06  No'am Rosenthal  <noam.rosenthal@nokia.com>
3311
3312         GraphicsLayerAnimation shouldn't use HashMap<String>
3313         https://bugs.webkit.org/show_bug.cgi?id=93284
3314
3315         Reviewed by Kenneth Rohde Christiansen.
3316
3317         Use a vector containing all the animations instead of a map of String to Vector.
3318         The HashMap contains very few elements, which makes it inefficient relatively to a vector.
3319         This has been shown to be a bottleneck in valgrind.
3320
3321         Covered by existing animation tests.
3322
3323         * platform/graphics/GraphicsLayerAnimation.cpp:
3324         (WebCore::GraphicsLayerAnimation::GraphicsLayerAnimation):
3325         (WebCore::GraphicsLayerAnimations::hasActiveAnimationsOfType):
3326         (WebCore::GraphicsLayerAnimations::hasRunningAnimations):
3327         (WebCore::GraphicsLayerAnimations::add):
3328         (WebCore::GraphicsLayerAnimations::pause):
3329         (WebCore::GraphicsLayerAnimations::remove):
3330         (WebCore::GraphicsLayerAnimations::apply):
3331         * platform/graphics/GraphicsLayerAnimation.h:
3332         (GraphicsLayerAnimation):
3333         (WebCore::GraphicsLayerAnimation::name):
3334         (GraphicsLayerAnimations):
3335         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
3336         (WebCore::GraphicsLayerTextureMapper::addAnimation):
3337
3338 2012-08-06  Beth Dakin  <bdakin@apple.com>
3339
3340         https://bugs.webkit.org/show_bug.cgi?id=93199
3341         REGRESSION (r124489): Crash in FrameView::scrollContentsFastPath when 
3342         scrolling Facebook and Google image search
3343         -and corresponding-
3344         <rdar://problem/12035066>
3345
3346         Reviewed by Anders Carlsson.
3347
3348         As the comment in setShouldUpdateScrollLayerPositionOnMainThread() 
3349         indicates, the goal of adding a call to 
3350         updateMainFrameScrollPositionAndScrollLayerPosition() within that 
3351         function was just to make sure the layer position was up-to-date 
3352         since that is what is not kept up to date when scrolling is happening 
3353         on the scrolling thread. So I'm fixing this crash by having that code 
3354         ONLY update the layer position instead of also updating the scroll 
3355         position, since it was updating the scroll position that led to this 
3356         crash.
3357
3358         New function updateMainFrameScrollLayerPosition() will update JUST 
3359         the layer position.
3360         * page/scrolling/ScrollingCoordinator.h:
3361         (ScrollingCoordinator):        
3362         * page/scrolling/ScrollingCoordinator.cpp:
3363         (WebCore::ScrollingCoordinator::updateMainFrameScrollLayerPosition):
3364
3365         Update just the layer position here instead of the layer position and 
3366         the scroll position.
3367         (WebCore)::
3368 (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
3369
3370 2012-08-06  Anna Cavender  <annacc@chromium.org>
3371
3372         MediaSource should use it's own list of source URLs
3373         https://bugs.webkit.org/show_bug.cgi?id=93285
3374
3375         Reviewed by Eric Carlson.
3376
3377         r124780 added MediaSource objects to PublicURLManager's streamURLs list,
3378         piggy-backing on MEDIA_STREAM.  This patch creates a sourceURLs list so
3379         that MediaSource can stand on its own.
3380
3381         Test: builds on Andriod even when MEDIA_STREAM is disabled.
3382
3383         * html/DOMURL.cpp:
3384         (WebCore::DOMURL::createObjectURL):
3385         * html/PublicURLManager.h:
3386         (WebCore::PublicURLManager::contextDestroyed):
3387         (PublicURLManager):
3388         (WebCore::PublicURLManager::sourceURLs):
3389
3390 2012-08-06  Nico Weber  <thakis@chromium.org>
3391
3392         [chromium/mac] Unbreak debug builds with the 10.7 SDK
3393         https://bugs.webkit.org/show_bug.cgi?id=93202
3394
3395         Reviewed by James Robinson.
3396
3397         FMGetATSFontRefFromFont() is not available with the 10.7 SDK
3398         when targetting 10.6. Don't delete this code completely yet,
3399         it's still used with the 10.6 SDK when targetting 10.6 (which
3400         chromium's build bots use).
3401
3402         * platform/graphics/mac/SimpleFontDataMac.mm:
3403         (WebCore):
3404
3405 2012-07-31  Ojan Vafai  <ojan@chromium.org>
3406
3407         need tests to ensure flexboxes play nicely with box-sizing
3408         https://bugs.webkit.org/show_bug.cgi?id=70771
3409
3410         Reviewed by Tony Chang.
3411
3412         Anytime we grab the width/height off of the RenderStyle, we need to adjust
3413         it for box-sizing. Fortunately, we only do this two places in RenderFlexibleBox.
3414         Also, delete crossAxisLength since it's unused.
3415
3416         Test: css3/flexbox/box-sizing.html
3417
3418         * rendering/RenderFlexibleBox.cpp:
3419         (WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForChild):
3420         * rendering/RenderFlexibleBox.h:
3421
3422 2012-08-06  John J. Barton  <johnjbarton@chromium.org>
3423
3424         Web Inspector: WebInspector.linkifyStringAsFragment gives wrong typeof lineNumber
3425         https://bugs.webkit.org/show_bug.cgi?id=93019
3426
3427         Reviewed by Pavel Feldman.
3428
3429         Add test for WebInspector.linkifyStringAsFragment()
3430
3431         * inspector/front-end/ResourceUtils.js:
3432         (WebInspector.linkifyStringAsFragmentWithCustomLinkifier):
3433
3434 2012-08-06  David Reveman  <reveman@chromium.org>
3435
3436         [Chromium] Refactor CCTextureUpdater into CCTextureUpdater and CCTextureUpdateController.
3437         https://bugs.webkit.org/show_bug.cgi?id=92596
3438
3439         Reviewed by Adrienne Walker.
3440
3441         The CCTextureUpdater interface is used by the main thread to queue
3442         texture updates. The CCTextureUpdateController constructor takes a
3443         CCTextureUpdater and contains the logic required to perform texture
3444         uploads and texture copies. This class is only used by the impl thread.
3445
3446         No new tests.
3447
3448         * WebCore.gypi:
3449         * platform/graphics/chromium/LayerRendererChromium.cpp:
3450         * platform/graphics/chromium/ScrollbarLayerChromium.cpp:
3451         (WebCore::ScrollbarLayerChromium::updatePart):
3452         * platform/graphics/chromium/TextureCopier.cpp:
3453         (WebCore::AcceleratedTextureCopier::copyTexture):
3454         * platform/graphics/chromium/TextureCopier.h:
3455         (Parameters):
3456         (TextureCopier):
3457         (AcceleratedTextureCopier):
3458         * platform/graphics/chromium/TextureUploader.h:
3459         (Parameters):
3460         (TextureUploader):
3461         * platform/graphics/chromium/ThrottledTextureUploader.cpp:
3462         (WebCore::ThrottledTextureUploader::uploadTexture):
3463         * platform/graphics/chromium/ThrottledTextureUploader.h:
3464         (ThrottledTextureUploader):
3465         * platform/graphics/chromium/TiledLayerChromium.cpp:
3466         (WebCore::TiledLayerChromium::updateTiles):
3467         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
3468         (WebCore::CCSingleThreadProxy::doCommit):
3469         * platform/graphics/chromium/cc/CCTextureUpdateController.cpp: Added.
3470         (WebCore):
3471         (WebCore::CCTextureUpdateController::maxPartialTextureUpdates):
3472         (WebCore::CCTextureUpdateController::updateTextures):
3473         (WebCore::CCTextureUpdateController::CCTextureUpdateController):
3474         (WebCore::CCTextureUpdateController::~CCTextureUpdateController):
3475         (WebCore::CCTextureUpdateController::hasMoreUpdates):
3476         (WebCore::CCTextureUpdateController::updateMoreTextures):
3477         (WebCore::CCTextureUpdateController::updateMoreTexturesSize):
3478         * platform/graphics/chromium/cc/CCTextureUpdateController.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCTextureUpdater.h.
3479         (WebCore):
3480         (CCTextureUpdateController):
3481         (WebCore::CCTextureUpdateController::create):
3482         * platform/graphics/chromium/cc/CCTextureUpdater.cpp:
3483         (WebCore::CCTextureUpdater::appendFullUpload):
3484         (WebCore::CCTextureUpdater::appendPartialUpload):
3485         (WebCore::CCTextureUpdater::appendCopy):
3486         (WebCore::CCTextureUpdater::takeFirstFullUpload):
3487         (WebCore::CCTextureUpdater::takeFirstPartialUpload):
3488         (WebCore::CCTextureUpdater::takeFirstCopy):
3489         (WebCore::CCTextureUpdater::hasMoreUpdates):
3490         * platform/graphics/chromium/cc/CCTextureUpdater.h:
3491         (CCTextureUpdater):
3492         (WebCore::CCTextureUpdater::fullUploadSize):
3493         (WebCore::CCTextureUpdater::partialUploadSize):
3494         (WebCore::CCTextureUpdater::copySize):
3495         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
3496         (WebCore::CCThreadProxy::scheduledActionBeginFrame):
3497         (WebCore::CCThreadProxy::beginFrame):
3498         (WebCore::CCThreadProxy::beginFrameCompleteOnImplThread):
3499         (WebCore::CCThreadProxy::hasMoreResourceUpdates):
3500         (WebCore::CCThreadProxy::scheduledActionUpdateMoreResources):
3501         (WebCore::CCThreadProxy::scheduledActionCommit):
3502         (WebCore::CCThreadProxy::maxPartialTextureUpdates):
3503         * platform/graphics/chromium/cc/CCThreadProxy.h:
3504         (WebCore):
3505         (WebCore::CCThreadProxy::BeginFrameAndCommitState::BeginFrameAndCommitState):
3506         (BeginFrameAndCommitState):
3507         (CCThreadProxy):
3508
3509 2012-08-06  Douglas Stockwell  <dstockwell@chromium.org>
3510
3511         Crash in WebCore::RenderListItem::updateMarkerLocation
3512         https://bugs.webkit.org/show_bug.cgi?id=90476
3513
3514         Reviewed by Abhishek Arya.
3515
3516         In some cases an anonymous block is destroyed when its last child is
3517         removed. RenderListItem did not expect this and has it's own logic for
3518         cleaning up such blocks when the list marker is removed. Detect this
3519         case in RenderBlock::removeChild to defer to the logic in RenderListItem::updateListMarker.
3520
3521         Test: fast/lists/list-marker-remove-crash.html
3522
3523         * rendering/RenderBlock.cpp:
3524         (WebCore::RenderBlock::removeChild):
3525
3526 2012-08-06  Shawn Singh  <shawnsingh@chromium.org>
3527
3528         [chromium] Non-preserves-3d requires explicit flattening of screen-space transform.
3529         https://bugs.webkit.org/show_bug.cgi?id=85808
3530
3531         Reviewed by Adrienne Walker.
3532
3533         When computing the screen-space transforms, z values were not
3534         being flattened when they should be. This caused incorrect
3535         clipping due to occlusion tracking that relied on the screen-space
3536         transform. The fix is to flatten the screen-space transform just
3537         like the "sublayerMatrix" is flattened, when the layer does not
3538         preserve-3d.
3539
3540         In addition to making the simple fix, it was convenient to make a
3541         helper function for the flattening code.
3542
3543         Additional unit test added to exercise that flattening code:
3544           CCLayerTreeHostCommonTest.verifyTransformsForFlatteningLayer
3545
3546         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
3547         (WebCore::calculateDrawTransformsInternal):
3548         * platform/graphics/chromium/cc/CCMathUtil.cpp:
3549         (WebCore::CCMathUtil::flattenTransformTo2d):
3550         (WebCore):
3551         * platform/graphics/chromium/cc/CCMathUtil.h:
3552         (CCMathUtil):
3553
3554 2012-08-06  Anna Cavender  <annacc@chromium.org>
3555
3556         Create a MediaSource object.
3557         https://bugs.webkit.org/show_bug.cgi?id=91773
3558
3559         Reviewed by Eric Carlson.
3560
3561         MediaSource object is needed in order to implement the new
3562         object-oriented MediaSource API:
3563         http://dvcs.w3.org/hg/html-media/raw-file/tip/media-source/media-source.html
3564
3565         No new tests - will be able to test after landing:
3566         https://bugs.webkit.org/show_bug.cgi?id=91775
3567  
3568         Adding new files to build files:
3569         * CMakeLists.txt:
3570         * DerivedSources.cpp:
3571         * DerivedSources.make:
3572         * DerivedSources.pri:
3573         * GNUmakefile.list.am:
3574         * Target.pri:
3575         * WebCore.gypi:
3576         * WebCore.vcproj/WebCore.vcproj:
3577         * WebCore.xcodeproj/project.pbxproj:
3578
3579         New MediaSource object:
3580         * Modules/mediasource/MediaSource.cpp: Added.
3581         * Modules/mediasource/MediaSource.h: Added.
3582         * Modules/mediasource/MediaSource.idl: Added.
3583
3584         Create a registry for the blob storage and lookup:
3585         * Modules/mediasource/MediaSourceRegistry.cpp: Added.
3586         * Modules/mediasource/MediaSourceRegistry.h: Added.
3587
3588         Connect SourceBuffer to MediaSource:
3589         * Modules/mediasource/SourceBuffer.cpp:
3590         (WebCore::SourceBuffer::SourceBuffer):
3591         (WebCore::SourceBuffer::buffered): Forward call to MediaSource.
3592         (WebCore::SourceBuffer::append): Ditto.
3593         (WebCore::SourceBuffer::abort): Ditto.
3594         * Modules/mediasource/SourceBuffer.h:
3595         (WebCore::SourceBuffer::create): Add a MediaSource to the constructor.
3596         (WebCore::SourceBuffer::clear): Clear the MediaSource.
3597         (SourceBuffer):
3598         * Modules/mediasource/SourceBufferList.cpp: include SourceBuffer.h
3599         * Modules/mediasource/SourceBufferList.h:
3600  
3601         Make MediaSource an EventTarget:
3602         * dom/EventTarget.h:
3603         (WebCore):
3604         * dom/EventTargetFactory.in:
3605
3606         Enable creation of MediaSource object URL from JavaScript:
3607         * html/DOMURL.cpp:
3608         (WebCore):
3609         (WebCore::DOMURL::createObjectURL):
3610         * html/DOMURL.h:
3611         (WebCore):
3612         (DOMURL):
3613         * html/DOMURL.idl:
3614
3615         New MediaSource constructor:
3616         * page/DOMWindow.idl:
3617
3618 2012-08-06  Andreas Kling  <kling@webkit.org>
3619
3620         Simplify CSSOM style declaration's grabbing at internals.
3621         <http://webkit.org/b/93261>
3622
3623         Reviewed by Antti Koivisto.
3624
3625         It was already the case that StylePropertySets exposed in CSSOM were guaranteed mutable,
3626         so remove the mechanism to convert immutable backing objects to mutable ones.
3627
3628         Made ensureCSSStyleDeclaration() non-const to prevent callers that may have an
3629         immutable StylePropertySet from wrapping a CSSOM object around it.
3630
3631         * css/PropertySetCSSStyleDeclaration.h:
3632         (PropertySetCSSStyleDeclaration):
3633         * css/PropertySetCSSStyleDeclaration.cpp:
3634         (WebCore::PropertySetCSSStyleDeclaration::length):
3635         (WebCore::PropertySetCSSStyleDeclaration::item):
3636         (WebCore::PropertySetCSSStyleDeclaration::cssText):
3637         (WebCore::PropertySetCSSStyleDeclaration::setCssText):
3638         (WebCore::PropertySetCSSStyleDeclaration::getPropertyCSSValue):
3639         (WebCore::PropertySetCSSStyleDeclaration::getPropertyValue):
3640         (WebCore::PropertySetCSSStyleDeclaration::getPropertyPriority):
3641         (WebCore::PropertySetCSSStyleDeclaration::getPropertyShorthand):
3642         (WebCore::PropertySetCSSStyleDeclaration::isPropertyImplicit):
3643         (WebCore::PropertySetCSSStyleDeclaration::setProperty):
3644         (WebCore::PropertySetCSSStyleDeclaration::removeProperty):
3645         (WebCore::PropertySetCSSStyleDeclaration::getPropertyCSSValueInternal):
3646         (WebCore::PropertySetCSSStyleDeclaration::getPropertyValueInternal):
3647         (WebCore::PropertySetCSSStyleDeclaration::setPropertyInternal):
3648         (WebCore::PropertySetCSSStyleDeclaration::copy):
3649         (WebCore::PropertySetCSSStyleDeclaration::makeMutable):
3650         (WebCore::PropertySetCSSStyleDeclaration::cssPropertyMatches):
3651
3652             Remove indirection and access StylePropertySet member directly.
3653
3654         * css/StylePropertySet.h:
3655         * css/StylePropertySet.cpp:
3656         (WebCore::StylePropertySet::ensureCSSStyleDeclaration):
3657         (WebCore::StylePropertySet::ensureInlineCSSStyleDeclaration):
3658
3659             Made these two non-const. CSSOM wrappers should only ever be constructed around
3660             mutable StylePropertySets.
3661             Also added ASSERT(isMutable()).
3662
3663         * inspector/InspectorCSSAgent.cpp:
3664         (WebCore::InspectorCSSAgent::buildObjectForAttributesStyle):
3665
3666             Cast away the constness of StyledElement::attributeStyle(). It's not pretty,
3667             but these objects are guaranteed mutable, and there's an assertion to protect
3668             us in ensureCSSStyleDeclaration() if something changes in the future.
3669
3670 2012-08-06  Andrei Poenaru  <poenaru@adobe.com>
3671
3672         Web Inspector: Protocol: Add "namedFlowCreated" and "namedFlowRemoved" events
3673         https://bugs.webkit.org/show_bug.cgi?id=92739
3674
3675         Reviewed by Pavel Feldman.
3676
3677         Implemented "namedFlowCreated" and "namedFlowRemoved" events.
3678
3679         Modified test: inspector/styles/protocol-css-regions-commands.html.
3680
3681         * dom/WebKitNamedFlowCollection.cpp:
3682         (WebCore::WebKitNamedFlowCollection::ensureFlowWithName):
3683         (WebCore::WebKitNamedFlowCollection::discardNamedFlow):
3684         * inspector/Inspector.json:
3685         * inspector/InspectorCSSAgent.cpp:
3686         (WebCore::InspectorCSSAgent::reset):
3687         (WebCore::InspectorCSSAgent::didCreateNamedFlow):
3688         (WebCore):
3689         (WebCore::InspectorCSSAgent::didRemoveNamedFlow):
3690         (WebCore::InspectorCSSAgent::getNamedFlowCollection):
3691         * inspector/InspectorCSSAgent.h:
3692         (InspectorCSSAgent):
3693         * inspector/InspectorInstrumentation.cpp:
3694         (WebCore):
3695         (WebCore::InspectorInstrumentation::didCreateNamedFlowImpl):
3696         (WebCore::InspectorInstrumentation::didRemoveNamedFlowImpl):
3697         * inspector/InspectorInstrumentation.h:
3698         (InspectorInstrumentation):
3699         (WebCore::InspectorInstrumentation::didCreateNamedFlow):
3700         (WebCore):
3701         (WebCore::InspectorInstrumentation::didRemoveNamedFlow):
3702         * inspector/front-end/CSSStyleModel.js:
3703         (WebInspector.CSSStyleModel.prototype._namedFlowCreated.callback):
3704         (WebInspector.CSSStyleModel.prototype._namedFlowCreated):
3705         (WebInspector.CSSStyleModel.prototype._namedFlowRemoved.callback):
3706         (WebInspector.CSSStyleModel.prototype._namedFlowRemoved):
3707         (WebInspector.CSSDispatcher.prototype.styleSheetChanged):
3708         (WebInspector.CSSDispatcher.prototype.namedFlowCreated):
3709         (WebInspector.CSSDispatcher.prototype.namedFlowRemoved):
3710
3711 2012-08-06  Abhishek Arya  <inferno@chromium.org>
3712
3713         Crash in FrameLoader::stopAllLoaders.
3714         https://bugs.webkit.org/show_bug.cgi?id=90805
3715
3716         Reviewed by Nate Chapin.
3717
3718         Calling m_provisionalDocumentLoader->stopLoading() can blow away the frame
3719         from underneath. Protect it with a RefPtr.
3720
3721         No new tests. We don't have a reliable testcase to reproduce this. However,
3722         the crash and free stack from ClusterFuzz point clearly at the bug.
3723
3724         * loader/FrameLoader.cpp:
3725         (WebCore::FrameLoader::stopAllLoaders):
3726
3727 2012-08-06  Hironori Bono  <hbono@chromium.org>
3728
3729         Rolling out my r123067 and r123572
3730         https://bugs.webkit.org/show_bug.cgi?id=93234
3731
3732         Reviewed by Ryosuke Niwa.
3733
3734         This change manually rolls out my r123067 and r123572 (except layout tests)
3735         because it renders RTL text to a wrong place when an RTL element shows a
3736         vertical scrollbar at its left side.
3737
3738         No new tests because this change rolls out my changes.
3739
3740         * dom/Element.cpp:
3741         (WebCore::Element::clientLeft):
3742         * rendering/RenderBlock.cpp:
3743         (WebCore::RenderBlock::addOverflowFromPositionedObjects):
3744         (WebCore::RenderBlock::determineLogicalLeftPositionForChild):
3745         (WebCore::RenderBlock::paintObject):
3746         * rendering/RenderBox.cpp:
3747         (WebCore::RenderBox::topLeftLocationOffset):
3748
3749 2012-08-06  Andrei Bucur  <abucur@adobe.com>
3750
3751         [CSS Regions] Add the NamedFlow.getRegions() API
3752         https://bugs.webkit.org/show_bug.cgi?id=93240
3753
3754         Reviewed by Andreas Kling.
3755
3756         This patch adds the NamedFlow.getRegions() API call as specified by http://www.w3.org/TR/2012/WD-css3-regions-20120503/#dom-named-flow .
3757         For now, WebKit supports only one type of regions, Element. The Region interface will be introduced when other interfaces will be capable
3758         of becoming regions.
3759
3760         New test: fast/regions/webkit-named-flow-get-regions.html
3761
3762         * dom/WebKitNamedFlow.cpp:
3763         (WebCore::WebKitNamedFlow::getRegionsByContent): Add a check not to include the pseudo-elements that are regions; those don't have a node attached.
3764         (WebCore::WebKitNamedFlow::getRegions):
3765         (WebCore):
3766         * dom/WebKitNamedFlow.h:
3767         (WebKitNamedFlow):
3768         * dom/WebKitNamedFlow.idl:
3769
3770 2012-08-06  Andrei Bucur  <abucur@adobe.com>
3771
3772         [CSS Regions] Rename regionOverflow to regionOverset
3773         https://bugs.webkit.org/show_bug.cgi?id=93256
3774
3775         Reviewed by Andreas Kling.
3776
3777         Link to spec: http://www.w3.org/TR/2012/WD-css3-regions-20120503/#dom-region-regionoverset
3778         The regionOverflow property has been renamed to regionOverset in the latest working draft. This patch applies the change both externally and
3779         internally in the code.
3780
3781         Tests: No new tests because this is not a functional change.
3782
3783         * dom/Element.cpp:
3784         (WebCore::Element::renderRegion): Convenience method to access the renderer for a region element.
3785         (WebCore):
3786         (WebCore::Element::webkitRegionOverset):
3787         * dom/Element.h:
3788         (WebCore):
3789         * dom/Element.idl:
3790         * rendering/RenderFlowThread.cpp:
3791         (WebCore::RenderFlowThread::paintIntoRegion):
3792         (WebCore::RenderFlowThread::hitTestRegion):
3793         (WebCore::RenderFlowThread::repaintRectangleInRegions):
3794         (WebCore::RenderFlowThread::computeOverflowStateForRegions):
3795         * rendering/RenderRegion.cpp:
3796         (WebCore::RenderRegion::regionOversetRect):
3797         * rendering/RenderRegion.h:
3798         (RenderRegion):
3799
3800 2012-08-06  Sergey Rogulenko  <rogulenko@google.com>
3801
3802         Web Inspector: a tiny refactoring of Highlighter in InspectorDOMAgent
3803         https://bugs.webkit.org/show_bug.cgi?id=93257
3804
3805         Reviewed by Pavel Feldman.
3806
3807         Moving error string setting inside highlightConfigFromInspectorObject.
3808
3809         * inspector/InspectorDOMAgent.cpp:
3810         (WebCore::InspectorDOMAgent::setSearchingForNode):
3811         (WebCore::InspectorDOMAgent::highlightConfigFromInspectorObject):
3812         (WebCore::InspectorDOMAgent::highlightNode):
3813         * inspector/InspectorDOMAgent.h:
3814         (InspectorDOMAgent):
3815
3816 2012-08-03  Yury Semikhatsky  <yurys@chromium.org>
3817
3818         Web Inspector: add memory instrumentation for CSSValue and its descendants
3819         https://bugs.webkit.org/show_bug.cgi?id=93130
3820
3821         Reviewed by Pavel Feldman.
3822
3823         Added memory footprint reporting routine to CSSValue and its descendants.
3824
3825         Memory reporing for CSSValue is organized in a following way:
3826         - CSSValue implements reportMemoryUsage method that switches by the value
3827           type and calls reportDescendantMemoryUsage on the concrete type
3828         - There may be some intermediate classes in the inheritance chain between
3829           CSSValue and the leaf class implementing reportDescendantMemoryUsage. Those
3830           intermediate classes implement reportBaseClassMemoryUsage method that can
3831           be called from a descendant to collect memory information for the base class
3832           members. Having reportDescendantMemoryUsage only on the leaf classes prevents
3833           us from accidentally adding the intermediate classes to the switch block
3834           in the CSSValue::reportMemoryUsage.
3835
3836         * css/CSSAspectRatioValue.cpp:
3837         (WebCore::CSSAspectRatioValue::reportDescendantMemoryUsage):
3838         (WebCore):
3839         * css/CSSAspectRatioValue.h:
3840         (CSSAspectRatioValue):
3841         * css/CSSBorderImageSliceValue.cpp:
3842         (WebCore::CSSBorderImageSliceValue::reportDescendantMemoryUsage):
3843         (WebCore):
3844         * css/CSSBorderImageSliceValue.h:
3845         (CSSBorderImageSliceValue):
3846         * css/CSSCalculationValue.cpp:
3847         (WebCore):
3848         (WebCore::CSSCalcValue::reportDescendantMemoryUsage):
3849         (CSSCalcPrimitiveValue):
3850         * css/CSSCalculationValue.h:
3851         (CSSCalcExpressionNode):
3852         (CSSCalcValue):
3853         * css/CSSCanvasValue.cpp:
3854         (WebCore::CSSCanvasValue::reportDescendantMemoryUsage):
3855         (WebCore):
3856         * css/CSSCanvasValue.h:
3857         (CSSCanvasValue):
3858         * css/CSSCrossfadeValue.cpp:
3859         (WebCore::CSSCrossfadeValue::reportDescendantMemoryUsage):
3860         (WebCore):
3861         * css/CSSCrossfadeValue.h:
3862         (CSSCrossfadeValue):
3863         * css/CSSCursorImageValue.cpp:
3864         (WebCore::CSSCursorImageValue::reportDescendantMemoryUsage):
3865         (WebCore):
3866         * css/CSSCursorImageValue.h:
3867         (CSSCursorImageValue):
3868         * css/CSSFontFaceSrcValue.cpp:
3869         (WebCore::CSSFontFaceSrcValue::reportDescendantMemoryUsage):
3870         (WebCore):
3871         * css/CSSFontFaceSrcValue.h:
3872         (CSSFontFaceSrcValue):
3873         * css/CSSFunctionValue.cpp:
3874         (WebCore::CSSFunctionValue::reportDescendantMemoryUsage):
3875         (WebCore):
3876         * css/CSSFunctionValue.h:
3877         (CSSFunctionValue):
3878         * css/CSSGradientValue.cpp:
3879         (WebCore::CSSGradientColorStop::reportMemoryUsage):
3880         (WebCore):
3881         (WebCore::CSSGradientValue::reportBaseClassMemoryUsage):
3882         (WebCore::CSSLinearGradientValue::reportDescendantMemoryUsage):
3883         (WebCore::CSSRadialGradientValue::reportDescendantMemoryUsage):
3884         * css/CSSGradientValue.h:
3885         (CSSGradientColorStop):
3886         (CSSGradientValue):
3887         (CSSLinearGradientValue):
3888         (CSSRadialGradientValue):
3889         * css/CSSImageGeneratorValue.cpp:
3890         (WebCore::CSSImageGeneratorValue::reportBaseClassMemoryUsage):
3891         (WebCore):
3892         * css/CSSImageGeneratorValue.h:
3893         (CSSImageGeneratorValue):
3894         * css/CSSImageSetValue.cpp:
3895         (WebCore::CSSImageSetValue::reportDescendantMemoryUsage):
3896         (WebCore):
3897         (WebCore::CSSImageSetValue::ImageWithScale::reportMemoryUsage):
3898         * css/CSSImageSetValue.h:
3899         (ImageWithScale):
3900         (CSSImageSetValue):
3901         * css/CSSImageValue.cpp:
3902         (WebCore::CSSImageValue::reportDescendantMemoryUsage):
3903         (WebCore):
3904         * css/CSSImageValue.h:
3905         (CSSImageValue):
3906         * css/CSSInheritedValue.cpp:
3907         (WebCore::CSSInheritedValue::reportDescendantMemoryUsage):
3908         (WebCore):
3909         * css/CSSInheritedValue.h:
3910         (CSSInheritedValue):
3911         * css/CSSInitialValue.cpp:
3912         (WebCore::CSSInitialValue::reportDescendantMemoryUsage):
3913         (WebCore):
3914         * css/CSSInitialValue.h:
3915         (CSSInitialValue):
3916         * css/CSSLineBoxContainValue.cpp:
3917         (WebCore::CSSLineBoxContainValue::reportDescendantMemoryUsage):
3918         (WebCore):
3919         * css/CSSLineBoxContainValue.h:
3920         (CSSLineBoxContainValue):
3921         * css/CSSPrimitiveValue.cpp:
3922         (WebCore::CSSPrimitiveValue::reportDescendantMemoryUsage):
3923         (WebCore):
3924         * css/CSSPrimitiveValue.h:
3925         (CSSPrimitiveValue):
3926         * css/CSSReflectValue.cpp:
3927         (WebCore::CSSReflectValue::reportDescendantMemoryUsage):
3928         (WebCore):
3929         * css/CSSReflectValue.h:
3930         (CSSReflectValue):
3931         * css/CSSTimingFunctionValue.cpp:
3932         (WebCore::CSSLinearTimingFunctionValue::reportDescendantMemoryUsage):
3933         (WebCore):
3934         (WebCore::CSSCubicBezierTimingFunctionValue::reportDescendantMemoryUsage):
3935         (WebCore::CSSStepsTimingFunctionValue::reportDescendantMemoryUsage):
3936         * css/CSSTimingFunctionValue.h:
3937         (CSSLinearTimingFunctionValue):
3938         (CSSCubicBezierTimingFunctionValue):
3939         (CSSStepsTimingFunctionValue):
3940         * css/CSSUnicodeRangeValue.cpp:
3941         (WebCore::CSSUnicodeRangeValue::reportDescendantMemoryUsage):
3942         (WebCore):
3943         * css/CSSUnicodeRangeValue.h:
3944         (CSSUnicodeRangeValue):
3945         * css/CSSValue.cpp:
3946         (WebCore::TextCloneCSSValue::reportDescendantMemoryUsage):
3947         (TextCloneCSSValue):
3948         (WebCore::CSSValue::reportMemoryUsage):
3949         (WebCore):
3950         * css/CSSValue.h:
3951         (WebCore):
3952         (CSSValue):
3953         * css/CSSValueList.cpp:
3954         (WebCore::CSSValueList::reportDescendantMemoryUsage):
3955         (WebCore):
3956         * css/CSSValueList.h:
3957         (CSSValueList):
3958         * css/CSSVariableValue.h:
3959         (WebCore::CSSVariableValue::reportDescendantMemoryUsage):
3960         (CSSVariableValue):
3961         * css/FontFeatureValue.cpp:
3962         (WebCore::FontFeatureValue::reportDescendantMemoryUsage):
3963         (WebCore):
3964         * css/FontFeatureValue.h:
3965         (FontFeatureValue):
3966         * css/FontValue.cpp:
3967         (WebCore::FontValue::reportDescendantMemoryUsage):
3968         (WebCore):
3969         * css/FontValue.h:
3970         (FontValue):
3971         * css/MediaQueryExp.cpp:
3972         (WebCore::MediaQueryExp::reportMemoryUsage):
3973         * css/ShadowValue.cpp:
3974         (WebCore::ShadowValue::reportDescendantMemoryUsage):
3975         (WebCore):
3976         * css/ShadowValue.h:
3977         (ShadowValue):
3978         * css/StyleResolver.cpp:
3979         (WebCore::StyleResolver::collectMatchingRulesForList):
3980         * css/WebKitCSSFilterValue.cpp:
3981         (WebCore::WebKitCSSFilterValue::reportDescendantMemoryUsage):
3982         (WebCore):
3983         * css/WebKitCSSFilterValue.h:
3984         (WebKitCSSFilterValue):
3985         * css/WebKitCSSSVGDocumentValue.cpp:
3986         (WebCore::WebKitCSSSVGDocumentValue::reportDescendantMemoryUsage):
3987         (WebCore):
3988         * css/WebKitCSSSVGDocumentValue.h:
3989         (WebKitCSSSVGDocumentValue):
3990         * css/WebKitCSSShaderValue.cpp:
3991         (WebCore::WebKitCSSShaderValue::reportDescendantMemoryUsage):
3992         (WebCore):
3993         * css/WebKitCSSShaderValue.h:
3994         (WebKitCSSShaderValue):
3995         * css/WebKitCSSTransformValue.cpp:
3996         (WebCore::WebKitCSSTransformValue::reportDescendantMemoryUsage):
3997         (WebCore):
3998         * css/WebKitCSSTransformValue.h:
3999         (WebKitCSSTransformValue):
4000         * dom/MemoryInstrumentation.cpp:
4001         (WebCore::MemoryInstrumentation::addString):
4002         (WebCore):
4003         * dom/MemoryInstrumentation.h:
4004         (MemoryInstrumentation):
4005         (WebCore::MemoryClassInfo::addHashCountedSet):
4006         (WebCore::MemoryClassInfo::addMember):
4007         * svg/SVGColor.cpp:
4008         (WebCore::SVGColor::reportDescendantMemoryUsage):
4009         (WebCore):
4010         * svg/SVGColor.h:
4011         (SVGColor):
4012         * svg/SVGPaint.cpp:
4013         (WebCore::SVGPaint::reportDescendantMemoryUsage):
4014         (WebCore):
4015         * svg/SVGPaint.h:
4016         (SVGPaint):
4017
4018 2012-08-06  Yury Semikhatsky  <yurys@chromium.org>
4019
4020         Web Inspector: rename WorkerAgent.setWorkerInspectionEnabled to WorkerAgent.enable and make it return error
4021         https://bugs.webkit.org/show_bug.cgi?id=92545
4022
4023         Reviewed by Pavel Feldman.
4024
4025         - Replaced WorkerAgent.setWorkerInspectionEnabled with WorkerAgent.enable/disable
4026         - Replaced Preferences.exposeWorkersInspection with InspectorFrontendHost.canInspectWorkers()
4027           that tells if inspector front-end on the given platform can launch dedicated worker
4028           front-end.
4029
4030         * inspector/Inspector.json:
4031         * inspector/InspectorFrontendClient.h:
4032         (InspectorFrontendClient):
4033         * inspector/InspectorFrontendClientLocal.h:
4034         (WebCore::InspectorFrontendClientLocal::canInspectWorkers):
4035         * inspector/InspectorFrontendHost.cpp:
4036         (WebCore::InspectorFrontendHost::canInspectWorkers):
4037         (WebCore):
4038         * inspector/InspectorFrontendHost.h:
4039         (InspectorFrontendHost):
4040         * inspector/InspectorFrontendHost.idl:
4041         * inspector/InspectorWorkerAgent.cpp:
4042         (WebCore::InspectorWorkerAgent::enable):
4043         (WebCore):
4044         (WebCore::InspectorWorkerAgent::disable):
4045         * inspector/InspectorWorkerAgent.h:
4046         (InspectorWorkerAgent):
4047         * inspector/front-end/InspectorFrontendHostStub.js:
4048         (.WebInspector.InspectorFrontendHostStub.prototype.setZoomFactor):
4049         (.WebInspector.InspectorFrontendHostStub.prototype.canInspectWorkers):
4050         * inspector/front-end/ScriptsPanel.js:
4051         * inspector/front-end/Settings.js:
4052
4053 2012-08-06  Mario Sanchez Prada  <msanchez@igalia.com>
4054
4055         [WK2][GTK] Improvements for the new spell-checking API
4056         https://bugs.webkit.org/show_bug.cgi?id=93262
4057
4058         Reviewed by Carlos Garcia Campos.
4059
4060         Provide a way to ask TextCheckerEnchant helper class for the list
4061         of languages currently available for the spell checking feature.
4062
4063         * platform/text/gtk/TextCheckerEnchant.cpp:
4064         (enchantDictDescribeCallback): Renamed from
4065         getAvailableDictionariesCallback, for consistency.
4066         (TextCheckerEnchant::upd