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