37fea8c6025a7ae964fcc8649a0e1689e026ffa4
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-07-26  Sheriff Bot  <webkit.review.bot@gmail.com>
2
3         Unreviewed, rolling out r123820.
4         http://trac.webkit.org/changeset/123820
5         https://bugs.webkit.org/show_bug.cgi?id=92465
6
7         It made all tests crash on all port (Requested by Ossy_home on
8         #webkit).
9
10         * dom/EventNames.cpp:
11         (WebCore):
12
13 2012-07-26  Ryosuke Niwa  <rniwa@webkit.org>
14
15         Qt build fix after r123788. Fixed the typo.
16
17         * xml/parser/XMLDocumentParserQt.cpp:
18         (WebCore::handleElementAttributes):
19
20 2012-07-26  Hironori Bono  <hbono@chromium.org>
21
22         [Qt] Build fix for Qt after r123811
23         https://bugs.webkit.org/show_bug.cgi?id=92460
24
25         Reviewed by Ryosuke Niwa.
26
27         This change explicitly converts from AtomicString to String to avoid ambiguities
28         when compiling HTMLAppletWidget.cpp on Qt.
29
30         No new tests because it is a build fix.
31
32         * html/HTMLAppletElement.cpp:
33         (WebCore::HTMLAppletElement::updateWidget):
34
35 2012-07-26  Mike Lawther  <mikelawther@chromium.org>
36
37         Make transitions work between different Length types
38         https://bugs.webkit.org/show_bug.cgi?id=92220
39
40         Reviewed by Simon Fraser.
41
42         Use the existing CSS calc machinery for blending between two calculations
43         to blend between two Lengths of differing types.
44
45         Test: transitions/mixed-type.html
46
47         * platform/Length.cpp:
48         (WebCore::Length::blendMixedTypes):
49         * platform/Length.h:
50         (WebCore::Length::blend):
51         (Length):
52
53 2012-07-26  Dan Bernstein  <mitz@apple.com>
54
55         Blocks with reverse column progression don’t have layout overflow for overflowing columns
56         https://bugs.webkit.org/show_bug.cgi?id=92440
57
58         Reviewed by Sam Weinig.
59
60         Test: fast/multicol/progression-reverse-overflow.html
61
62         * rendering/RenderBox.cpp:
63         (WebCore::RenderBox::addLayoutOverflow): If column progression is reversed, then allow
64         layout overflow to go in the opposite direction than it would normally be allowed to go.
65         For example, in a block with writing-mode: horizontal-tb, direction: ltr and
66         column-progression: reverse, columns overflow to the left, so layout overflow would go on
67         the left.
68
69 2012-07-26  Keishi Hattori  <keishi@webkit.org>
70
71         Implement ColorSuggestionPicker page popup
72         https://bugs.webkit.org/show_bug.cgi?id=92109
73
74         Reviewed by Kent Tamura.
75
76         Implements ColorSuggestionPicker page popup. This will be used in
77         certain ports as the datalist UI for <input type=color>.
78
79         No new tests because there is no way to open the popup yet.
80
81         * Resources/colorSuggestionPicker.css: Added.
82         (body):
83         (#main):
84         (.color-swatch):
85         (.color-swatch:hover):
86         (.color-swatch-container):
87         (.other-color):
88         * Resources/colorSuggestionPicker.js: Added.
89         (getScrollbarWidth):When there are more than 20 colors we need to
90         increase the window width to accommodate the scroll bar.
91         (createElement):
92         (handleMessage):
93         (initialize):
94         (handleArgumentsTimeout):
95         (validateArguments):
96         (submitValue): Calls setValueAndClosePopup with a numValue of 0.
97         (handleCancel): Calls setValueAndClosePopup with a numValue of -1.
98         (chooseOtherColor): Calls setValueAndClosePopup with a numValue of -2.
99         (ColorPicker):
100         (ColorPicker.prototype._layout): Lays out the color swatches in a 5x4
101         grid.
102         (ColorPicker.prototype._handleSwatchClick):
103         * WebCore.gyp/WebCore.gyp: Added ColorSuggestionPicker action.
104         * make-file-arrays.py:
105         (main): Windows gets confused when "&&" is in the command, so we will replace " AND " with " && " internally.
106
107 2012-07-26  Anish Bhayani  <anish.bhayani@gmail.com>
108
109         De-virtualize WrapShape classes
110         https://bugs.webkit.org/show_bug.cgi?id=90998
111
112         Reviewed by Andreas Kling.
113
114         The destructor for WrapShapes classes did not need to use a virtual
115         pointer. WrapShapes.cpp is created to cast the WrapShape destructor 
116         to the subclass type saving memory and avoiding virtual calls. 
117
118         There are existing tests that cover the validity of shapes. The
119         added changes merely change the destructor of the shape objects
120         which is also tested by LayoutTests/fast/exclusions.
121
122         * CMakeLists.txt:
123         * GNUmakefile.list.am:
124         * Target.pri:
125         * WebCore.gypi:
126         * WebCore.vcproj/WebCore.vcproj:
127         * WebCore.xcodeproj/project.pbxproj:
128         * rendering/style/WrapShapes.cpp: Added.
129         (WebCore):
130         (WebCore::WrapShape::destroy):
131         * rendering/style/WrapShapes.h:
132         (WebCore::WrapShape::deref):
133         (WrapShape):
134         (WebCore::WrapShape::type):
135         (WebCore::WrapShape::setType):
136         (WrapShapeRectangle):
137         (WebCore::WrapShapeRectangle::WrapShapeRectangle):
138         (WebCore::WrapShapeCircle::WrapShapeCircle):
139         (WebCore::WrapShapeEllipse::WrapShapeEllipse):
140         (WebCore::WrapShapePolygon::WrapShapePolygon):
141         (WrapShapePolygon):
142
143 2012-07-26  Sheriff Bot  <webkit.review.bot@gmail.com>
144
145         Unreviewed, rolling out r123808.
146         http://trac.webkit.org/changeset/123808
147         https://bugs.webkit.org/show_bug.cgi?id=92443
148
149         Broke Apple Mac debug tests ASSERTION FAILED: !hasClients()
150         (Requested by msaboff_ on #webkit).
151
152         * loader/cache/CachedCSSStyleSheet.cpp:
153         (WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet):
154         (WebCore::CachedCSSStyleSheet::didAddClient):
155         (WebCore::CachedCSSStyleSheet::allClientsRemoved):
156         (WebCore::CachedCSSStyleSheet::decodedDataDeletionTimerFired):
157         (WebCore):
158         * loader/cache/CachedCSSStyleSheet.h:
159         (CachedCSSStyleSheet):
160         * loader/cache/CachedImage.cpp:
161         (WebCore::CachedImage::CachedImage):
162         (WebCore::CachedImage::decodedDataDeletionTimerFired):
163         (WebCore):
164         (WebCore::CachedImage::didAddClient):
165         (WebCore::CachedImage::allClientsRemoved):
166         * loader/cache/CachedImage.h:
167         (CachedImage):
168         * loader/cache/CachedResource.cpp:
169         (WebCore::CachedResource::CachedResource):
170         (WebCore::CachedResource::didAddClient):
171         (WebCore::CachedResource::removeClient):
172         * loader/cache/CachedResource.h:
173         (CachedResource):
174         * loader/cache/CachedScript.cpp:
175         (WebCore::CachedScript::CachedScript):
176         (WebCore::CachedScript::didAddClient):
177         (WebCore):
178         (WebCore::CachedScript::allClientsRemoved):
179         (WebCore::CachedScript::decodedDataDeletionTimerFired):
180         * loader/cache/CachedScript.h:
181         (CachedScript):
182
183 2012-07-26  Tony Chang  <tony@chromium.org>
184
185         [chromium] Remove some unreachable code in ClipboardChromium.cpp
186         https://bugs.webkit.org/show_bug.cgi?id=92427
187
188         Reviewed by Adam Barth.
189
190         convertURIListToURL does the same thing (implementation in ClipboardUtilitiesChromium.*).
191
192         No new tests, just deleting unused code.
193
194         * platform/chromium/ClipboardChromium.cpp:
195         (WebCore::ClipboardChromium::getData):
196
197 2012-07-26  Sukolsak Sakshuwong  <sukolsak@google.com>
198
199         Implement undoscope attribute.
200         https://bugs.webkit.org/show_bug.cgi?id=88793
201
202         Reviewed by Ryosuke Niwa.
203
204         undoscope attribute support as specified at
205         http://dvcs.w3.org/hg/undomanager/raw-file/tip/undomanager.html
206
207         Test: editing/undomanager/undoscope-attribute.html
208
209         * Target.pri:
210         * WebCore.gypi:
211         * WebCore.vcproj/WebCore.vcproj:
212         * dom/Document.cpp:
213         (WebCore::Document::~Document):
214         * dom/Element.cpp:
215         (WebCore):
216         (WebCore::Element::undoScope):
217         (WebCore::Element::setUndoScope):
218         (WebCore::Element::undoManager):
219         (WebCore::Element::disconnectUndoManager):
220         (WebCore::Element::disconnectUndoManagersInSubtree):
221         * dom/Element.h:
222         (Element):
223         * dom/Element.idl:
224         * dom/ElementRareData.h:
225         (ElementRareData):
226         * editing/UndoManager.cpp:
227         (WebCore::UndoManager::disconnect):
228         (WebCore::UndoManager::transact):
229         (WebCore::UndoManager::undo):
230         (WebCore::UndoManager::redo):
231         (WebCore::UndoManager::clearUndo):
232         (WebCore):
233         (WebCore::UndoManager::clearRedo):
234         (WebCore::UndoManager::clearUndoRedo):
235         (WebCore::UndoManager::isConnected):
236         * editing/UndoManager.h:
237         (WebCore):
238         (UndoManager):
239         (WebCore::UndoManager::length):
240         * editing/UndoManager.idl:
241         * html/HTMLAttributeNames.in:
242         * html/HTMLElement.cpp:
243         (WebCore::HTMLElement::parseAttribute):
244         (WebCore::HTMLElement::setContentEditable):
245
246 2012-07-26  Yoshifumi Inoue  <yosin@chromium.org>
247
248         [Forms] Introduce runtime feature flags for input type datetime, datetimelocal, month, time, week
249         https://bugs.webkit.org/show_bug.cgi?id=92339
250
251         Reviewed by Kent Tamura.
252
253         To detect compilation errors and test failure earlier, I would like
254         build and run tests for input type datetime, datetime-local, month,
255         time and week with runtime feature flags to avoid behavior changes
256         other than test shell.
257
258         This patch adds runtime features for input types, datetime, datetime-local,
259         month, time and week and integrates them into InputType::createInputTypeFactoryMap
260         to follow runtime feature flags.
261
262         At this time, these runtime features are enabled by default for all
263         ports define ENABLE_INPUT_TYPE_XXX except for Chromium port other than
264         Android. I'll remove these #if after I update Chromium browser for
265         disabling them for non-Android.
266
267         No new tests. Enabling disabled tests (fast/forms/datetime, fast/forms/dattimelocal,
268         fast/forms/month, fast/forms/time, fast/forms/week)
269
270         * bindings/generic/RuntimeEnabledFeatures.cpp: Added initializations of
271         variables for runtime features of input types.
272         * bindings/generic/RuntimeEnabledFeatures.h:
273         (WebCore::RuntimeEnabledFeatures::inputTypeDateTimeEnabled): Added.
274         (WebCore::RuntimeEnabledFeatures::setInputTypeDateTimeEnabled): Added.
275         (WebCore::RuntimeEnabledFeatures::inputTypeDateTimeLocalEnabled): Added.
276         (WebCore::RuntimeEnabledFeatures::setInputTypeDateTimeLocalEnabled): Added.
277         (WebCore::RuntimeEnabledFeatures::inputTypeMonthEnabled): Added.
278         (WebCore::RuntimeEnabledFeatures::setInputTypeMonthEnabled): Added.
279         (WebCore::RuntimeEnabledFeatures::inputTypeTimeEnabled): Added.
280         (WebCore::RuntimeEnabledFeatures::setInputTypeTimeEnabled): Added.
281         (WebCore::RuntimeEnabledFeatures::inputTypeWeekEnabled): Added.
282         (WebCore::RuntimeEnabledFeatures::setInputTypeWeekEnabled): Added.
283         * html/InputType.cpp:
284         (WebCore::createInputTypeFactoryMap): Register input types datetime,
285         datetime-local, month, time and week if corresponding runtime feature
286         flag is enabled.
287         * html/InputType.h: Changed indentation to force building *InputType.cpp for
288         making Chromium-win bots to be happy.
289
290 2012-07-26  Xianzhu Wang  <wangxianzhu@chromium.org>
291
292         [Chromium-Android] Don't overlay scrollbars in layout test mode
293         https://bugs.webkit.org/show_bug.cgi?id=92419
294
295         Reviewed by Adam Barth.
296
297         No new tests. This fixes failures of existing tests, e.g. css1/box_properties/border.html and many others.
298
299         * platform/chromium/ScrollbarThemeChromiumAndroid.cpp:
300         (WebCore::ScrollbarThemeChromiumAndroid::usesOverlayScrollbars): Returns false in layout test mode.
301         (WebCore):
302         (WebCore::ScrollbarThemeChromiumAndroid::hasThumb): Returns false in layout test mode (to match pixel test expectations).
303         * platform/chromium/ScrollbarThemeChromiumAndroid.h:
304         (ScrollbarThemeChromiumAndroid):
305
306 2012-07-26  Jeffrey Pfau  <jpfau@apple.com>
307
308         Reloading substitute-data/alternate html string for unreachableURL will add an item to the back-forward-history for each reload
309         https://bugs.webkit.org/show_bug.cgi?id=84041
310
311         Reviewed by Brady Eidson.
312
313         Previously, loadAlternateHTMLString:baseURL:forUnreachableURL: would insert a new history item, regardless of
314         the load type of the original frame load. This could cause navigation to a broken website to make back and
315         forward navigation difficult to use. This change ensures that a reload type makes it through all the way.
316
317         Added API test 'mac/BackForwardList.mm'.
318
319         * loader/FrameLoader.cpp:
320         (WebCore::FrameLoader::load): Prevent m_loadType from being overwritten early and check if it's a reload.
321         * loader/HistoryController.cpp:
322         (WebCore::HistoryController::updateForCommit): Amend check when committing the provisional item for a reload.
323         (WebCore::HistoryController::isReloadTypeWithProvisionalItem): Check that a reload type has a provisional item.
324         (WebCore):
325         * loader/HistoryController.h:
326         (HistoryController): Add prototype for isReloadTypeWithProvisionalItem.
327
328 2012-07-26  Silvia Pfeiffer  <silviapf@chromium.org>
329
330         [Chromium] Regression: Global-buffer-overflow in WebCore::mediaControlElementType
331         https://bugs.webkit.org/show_bug.cgi?id=91333
332
333         Reviewed by Eric Seidel.
334
335         MediaControlChromiumEnclosureElement now is a subclass of MediaControlElement, which
336         fixes the broken cast detected in the bug.
337         The displayType() of MediaControlChromiumEnclosureElement is set to 'MediaControlsPanel',
338         since the Panel element is sufficiently close in functionality to the Enclosure element.
339         By reusing this type, we do not need to introduce a Chromium-specific constant into
340         the generally used MediaControlElementType.
341
342         Test: accessibility/media-controls.html
343
344         * html/shadow/MediaControlRootElementChromium.cpp:
345         (WebCore::MediaControlChromiumEnclosureElement::MediaControlChromiumEnclosureElement):
346         Subclass MediaControlChromiumEnclosureElement from MediaControlElement.
347         (WebCore::MediaControlChromiumEnclosureElement::displayType):
348         Give the enclosure the MediaPanels type.
349         * html/shadow/MediaControlRootElementChromium.h:
350         Add the MediaControlElement.h header file.
351         (MediaControlChromiumEnclosureElement):
352         Subclass MediaControlChromiumEnclosureElement from MediaControlElement.
353
354 2012-07-26  Arnaud Renevier  <arno@renevier.net>
355
356         [GTK] avoid unneeded object creation when calling Vector::append
357         https://bugs.webkit.org/show_bug.cgi?id=88805
358
359         Reviewed by Alexey Proskuryakov.
360
361         No new tests: no change in functionality.
362
363         * platform/gtk/ContextMenuGtk.cpp:
364         (WebCore::contextMenuItemVector):
365         * platform/gtk/KeyBindingTranslator.h:
366         (WebCore::KeyBindingTranslator::addPendingEditorCommand):
367
368 2012-07-26  Benjamin Poulain  <bpoulain@apple.com>
369
370         Initialize the Event Names' strings from read only memory
371         https://bugs.webkit.org/show_bug.cgi?id=92435
372
373         Reviewed by Anders Carlsson.
374
375         Similarily to r123689, we can initialize the event names' strings from memory without copying the data.
376         This saves us memory and initialization time.
377
378         * dom/EventNames.cpp:
379         (WebCore):
380
381 2012-07-26  Arnaud Renevier  <a.renevier@sisa.samsung.com>
382
383         constructing TypedArray from another TypedArray is slow
384         https://bugs.webkit.org/show_bug.cgi?id=90838
385
386         Reviewed by Kenneth Russell.
387
388         When constructing a typed array from an array like element, try to
389         determine if the argument is a typed array. If so, cast the argument
390         to a typed array, and read each element with .item() method. That
391         avoid reading the value as a JSValue, and speedups construction by
392         approximatively 3x (even 30x if TypedArrays are both the same type).
393
394         In order to achieve that, we use virtual getType method. We can use
395         this information to cast the TypedArray to the actual type, and then
396         read the values from the source.
397
398         Introduce constructArrayBufferViewWithTypedArrayArgument template
399         function which returns a new typed array if first argument is a typed
400         array, or 0 otherwise.
401
402         This patch also replaces previous is<Type>Array() calls with new
403         getType method.
404
405         * bindings/js/JSArrayBufferViewHelper.h:
406         (WebCore::constructArrayBufferViewWithTypedArrayArgument):
407         (WebCore):
408         (WebCore::constructArrayBufferView):
409         * bindings/v8/SerializedScriptValue.cpp:
410         * html/canvas/DataView.h:
411         (DataView):
412         (WebCore::DataView::getType):
413         * html/canvas/WebGLRenderingContext.cpp:
414         (WebCore):
415         (WebCore::WebGLRenderingContext::readPixels):
416         (WebCore::WebGLRenderingContext::validateTexFuncData):
417         * page/Crypto.cpp:
418
419 2012-07-26  Max Vujovic  <mvujovic@adobe.com>
420
421         Added binding and updated chromium tests.
422
423         [CSS Filters] Add V8 binding for WebKitCSSFilterValue
424         https://bugs.webkit.org/show_bug.cgi?id=92391
425
426         Reviewed by Adam Barth.
427
428         No new tests. This fixes test cases in:
429             platform/chromium/css3/filters/custom/custom-filter-property-computed-style-expected.txt
430             platform/chromium/css3/filters/custom/custom-filter-property-parsing-expected.txt
431             platform/chromium/css3/filters/filter-property-computed-style-expected.txt
432             platform/chromium/css3/filters/filter-property-parsing-expected.txt
433
434         * bindings/v8/custom/V8CSSValueCustom.cpp:
435         (WebCore::toV8):
436
437 2012-07-26  Nayan Kumar K  <nayankk@motorola.com>
438
439         [WebGL] Initial size of canvas can be larger than MAX_VIEWPORT_DIMS.
440         https://bugs.webkit.org/show_bug.cgi?id=91976
441
442         Reviewed by Kenneth Russell.
443
444         From section 2.2 of the spec the WebGL implementation says initial size of
445         the canvas can be larger than MAX_VIEWPORT_DIMS. With the current WebGL
446         implementation, we get error when initial size if greater than MAX_VIEWPORT_DIMS.
447         This change limits the width and height of drawingbuffer to MAX_VIEWPORT_DIMS
448         when given initial size exceeds it.
449
450         Added tests to LayoutTests/fast/canvas/webgl/drawingbuffer-test.html
451
452         * html/canvas/WebGLRenderingContext.cpp:
453         (WebCore):
454         (WebCore::WebGLRenderingContext::WebGLRenderingContext):
455         (WebCore::WebGLRenderingContext::initializeNewContext):
456         (WebCore::WebGLRenderingContext::markContextChanged):
457
458 2012-07-26  Adrienne Walker  <enne@google.com>
459
460         [chromium] When computing surface content scale, use top level device scale
461         https://bugs.webkit.org/show_bug.cgi?id=92328
462
463         Reviewed by Kenneth Russell.
464
465         Previously, surface scale was calculated with layer->contentsScale(),
466         however this value is 1 for any layer that is not ContentLayerChromium
467         because of layer->needsContentsScale(). This would cause any surface
468         created with a non-content owner layer to look fuzzy on a high DPI
469         device. Fix by using the top level device scale.
470
471         Additionally, remove contentsScale from CCLayerImpl as it is no longer
472         used.
473
474         * platform/graphics/chromium/LayerChromium.cpp:
475         (WebCore::LayerChromium::pushPropertiesTo):
476         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
477         (WebCore::CCLayerImpl::CCLayerImpl):
478         * platform/graphics/chromium/cc/CCLayerImpl.h:
479         (CCLayerImpl):
480         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
481         (WebCore::calculateDrawTransformsInternal):
482         (WebCore::CCLayerTreeHostCommon::calculateDrawTransforms):
483
484 2012-07-26  Anders Carlsson  <andersca@apple.com>
485
486         HTMLAppletElement should inherit from HTMLPlugInImageElement
487         https://bugs.webkit.org/show_bug.cgi?id=92320
488
489         Reviewed by Eric Seidel.
490
491         In order to simplify the class hierarchy and eventually merge HTMLPlugInImageElement and HMTLPlugInElement,
492         make HTMLAppletElement inherit from HTMLPlugInImageElement. While this does mean that HTMLAppletElement will grow by
493         a couple of words, in practice it won't matter.
494
495         Also, make RenderApplet inherit from RenderEmbeddedObject and move the plug-in instantiation to HTMLAppletElement which matches
496         both HTMLEmbedElement and HTMLObjectElement.
497
498         * html/HTMLAppletElement.cpp:
499         (WebCore::HTMLAppletElement::HTMLAppletElement):
500         (WebCore::HTMLAppletElement::create):
501         (WebCore::HTMLAppletElement::parseAttribute):
502         (WebCore::HTMLAppletElement::rendererIsNeeded):
503         (WebCore::HTMLAppletElement::createRenderer):
504         (WebCore):
505         (WebCore::HTMLAppletElement::renderWidgetForJSBindings):
506         (WebCore::HTMLAppletElement::updateWidget):
507         * html/HTMLAppletElement.h:
508         (HTMLAppletElement):
509         * html/HTMLTagNames.in:
510         * loader/SubframeLoader.cpp:
511         (WebCore::SubframeLoader::createJavaAppletWidget):
512         * loader/SubframeLoader.h:
513         (SubframeLoader):
514         * page/FrameView.cpp:
515         (WebCore::FrameView::updateWidget):
516         * rendering/RenderApplet.cpp:
517         (WebCore::RenderApplet::RenderApplet):
518         * rendering/RenderApplet.h:
519         (RenderApplet):
520         * rendering/RenderEmbeddedObject.h:
521         (WebCore::toRenderEmbeddedObject):
522         * rendering/RenderLayer.cpp:
523         (WebCore::RenderLayer::shouldBeNormalFlowOnly):
524         (WebCore::RenderLayer::shouldBeSelfPaintingLayer):
525         * rendering/RenderLayerBacking.cpp:
526         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
527         * rendering/RenderLayerCompositor.cpp:
528         (WebCore::RenderLayerCompositor::requiresCompositingForPlugin):
529         * rendering/RenderObject.cpp:
530         (WebCore::RenderObject::setStyle):
531         * rendering/RenderObject.h:
532
533 2012-07-26  Sheriff Bot  <webkit.review.bot@gmail.com>
534
535         Unreviewed, rolling out r123799.
536         http://trac.webkit.org/changeset/123799
537         https://bugs.webkit.org/show_bug.cgi?id=92431
538
539         broke the Apple Mac build (Requested by bweinstein on
540         #webkit).
541
542         * CMakeLists.txt:
543         * GNUmakefile.list.am:
544         * Target.pri:
545         * WebCore.gypi:
546         * dom/EventNames.h:
547         (WebCore):
548         * dom/GestureEvent.cpp: Removed.
549         * dom/GestureEvent.h: Removed.
550         * dom/Node.cpp:
551         * dom/Node.h:
552         (WebCore):
553         (Node):
554         * page/EventHandler.cpp:
555         (WebCore::EventHandler::clear):
556         (WebCore::EventHandler::handleGestureEvent):
557         * page/EventHandler.h:
558
559 2012-07-26  Nima Ghanavatian  <nghanavatian@rim.com>
560
561         [BlackBerry] Support async spellcheck for the blackberry port
562         https://bugs.webkit.org/show_bug.cgi?id=92160
563
564         Set USE_UNIFIED_TEXT_CHECKING for PLATFORM(BLACKBERRY) to use the
565         asynchronous spellchecking code path.
566
567         Reviewed by Rob Buis.
568
569         Internally reviewed by Mike Fenton.
570
571         * platform/text/TextChecking.h:
572         (WebCore):
573
574 2012-07-26  Huang Dongsung  <luxtella@company100.net>
575
576         Gather the duplicated timer code into CachedResource.
577         https://bugs.webkit.org/show_bug.cgi?id=92332
578
579         Reviewed by Nate Chapin.
580
581         Internal review by Jae Hyun Park.
582
583         When all clients are removed, CachedImage, CachedScript and CachedCSSStyleSheet
584         start the timer to destroy decoded data. Those three classes have their own
585         timer.
586         Changed CachedCSSStyleSheet::didAddClient to call super class method in order to
587         stop the timer. This change does not have any side effect because
588         CachedResource::didAddClient only stops the timer in this case.
589
590         No new tests - no new testable functionality.
591
592         * loader/cache/CachedCSSStyleSheet.cpp:
593         (WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet):
594         (WebCore::CachedCSSStyleSheet::didAddClient):
595         * loader/cache/CachedCSSStyleSheet.h:
596         (CachedCSSStyleSheet):
597         * loader/cache/CachedImage.cpp:
598         (WebCore::CachedImage::CachedImage):
599         (WebCore::CachedImage::didAddClient):
600         (WebCore::CachedImage::allClientsRemoved):
601         * loader/cache/CachedImage.h:
602         (CachedImage):
603         * loader/cache/CachedResource.cpp:
604         (WebCore::CachedResource::CachedResource):
605         (WebCore::CachedResource::didAddClient):
606         (WebCore::CachedResource::removeClient):
607         (WebCore::CachedResource::destroyDecodedDataIfNeeded):
608         (WebCore):
609         (WebCore::CachedResource::decodedDataDeletionTimerFired):
610         * loader/cache/CachedResource.h:
611         (CachedResource):
612         * loader/cache/CachedScript.cpp:
613         (WebCore::CachedScript::CachedScript):
614         * loader/cache/CachedScript.h:
615         (CachedScript):
616
617 2012-07-26  Benjamin Poulain  <bpoulain@apple.com>
618
619         Use the constant count of Tags/Attributes names instead of getting the size when obtaining the tags/attributes
620         https://bugs.webkit.org/show_bug.cgi?id=92411
621
622         Reviewed by Julien Chaffraix.
623
624         Since r123582, the number of tags and attributes per "namespace" is exposed in a constant in the header file.
625         This makes it possible to access this value through two ways:
626         1) The constant.
627         2) The first parameter of the tags/attributes getter function.
628
629         Having two ways to access the value is error prone. This patches changes the code to have all accesses done
630         through the constant.
631
632         * dom/make_names.pl:
633         (printNamesHeaderFile):
634         (printNamesCppFile):
635         Change the code generator to not provide the size in the getter function.
636
637         * html/HTMLObjectElement.cpp:
638         (WebCore::isRecognizedTagName):
639         * html/parser/HTMLTreeBuilder.cpp:
640         (WebCore::adjustSVGTagNameCase):
641         (WebCore):
642         (WebCore::adjustAttributes):
643         (WebCore::adjustSVGAttributes):
644         (WebCore::adjustMathMLAttributes):
645         (WebCore::adjustForeignAttributes):
646
647 2012-07-26  Chang Shu  <cshu@webkit.org>
648
649         Support constructor-type static readonly attribute for CodeGenerator.
650         https://bugs.webkit.org/show_bug.cgi?id=92413.
651
652         Reviewed by Adam Barth.
653
654         Added support for constructor-type static readonly attribute for CodeGenerator.
655         This is achieved by putting the attribute entry in the table where static properties
656         belong to but leave the implementation same as a non-static constructor-type attribute.
657
658         Tested by running run-bindings-tests.
659
660         * bindings/scripts/CodeGeneratorJS.pm:
661         (GenerateImplementation):
662         * bindings/scripts/test/JS/JSTestInterface.cpp:
663         (WebCore::jsTestInterfaceConstructorSupplementalStaticReadOnlyAttr):
664         (WebCore::jsTestInterfaceConstructorSupplementalStaticAttr):
665         * bindings/scripts/test/JS/JSTestObj.cpp:
666         (WebCore):
667         (WebCore::jsTestObjConstructorStaticReadOnlyLongAttr):
668         (WebCore::jsTestObjConstructorStaticStringAttr):
669         (WebCore::jsTestObjConstructorTestSubObj):
670         * bindings/scripts/test/JS/JSTestObj.h:
671         (WebCore):
672         * bindings/scripts/test/TestObj.idl:
673         * bindings/scripts/test/V8/V8TestObj.cpp:
674         (WebCore):
675
676 2012-07-26  Sadrul Habib Chowdhury  <sadrul@chromium.org>
677
678         Propagate gesture events to plugins.
679         https://bugs.webkit.org/show_bug.cgi?id=92281
680
681         Reviewed by Adam Barth.
682
683         Propagate gesture events to plugins. This change does not expose the gesture events
684         to JavaScript, since there is no spec for that at the moment. Exposing gesture events
685         to JavaScript will be done separately, once there is a spec for it.
686
687         Test: platform/chromium/plugins/gesture-events.html
688
689         * CMakeLists.txt:
690         * GNUmakefile.list.am:
691         * Target.pri:
692         * WebCore.gypi:
693         * dom/EventNames.h:
694         (WebCore):
695         (WebCore::EventNames::isGestureEventType):
696         (EventNames):
697         * dom/GestureEvent.cpp: Added.
698         (WebCore):
699         (WebCore::GestureEvent::create):
700         (WebCore::GestureEvent::initGestureEvent):
701         (WebCore::GestureEvent::interfaceName):
702         (WebCore::GestureEvent::GestureEvent):
703         (WebCore::GestureEventDispatchMediator::GestureEventDispatchMediator):
704         (WebCore::GestureEventDispatchMediator::event):
705         (WebCore::GestureEventDispatchMediator::dispatchEvent):
706         * dom/GestureEvent.h: Added.
707         (WebCore):
708         (GestureEvent):
709         (WebCore::GestureEvent::~GestureEvent):
710         (WebCore::GestureEvent::deltaX):
711         (WebCore::GestureEvent::deltaY):
712         (WebCore::GestureEvent::GestureEvent):
713         (GestureEventDispatchMediator):
714         (WebCore::GestureEventDispatchMediator::create):
715         * dom/Node.cpp:
716         (WebCore):
717         (WebCore::Node::dispatchGestureEvent):
718         * dom/Node.h:
719         (WebCore):
720         (Node):
721         * page/EventHandler.cpp:
722         (WebCore::EventHandler::clear):
723         (WebCore::EventHandler::handleGestureEvent):
724         * page/EventHandler.h:
725
726 2012-07-26  Gavin Peters  <gavinp@chromium.org>
727
728         Guard Prerenderer against inserting prerenders into detached documents.
729         https://bugs.webkit.org/show_bug.cgi?id=92401
730
731         Reviewed by Adam Barth.
732
733         If the document is detached, we should not launch a prerender.
734
735         Test: fast/dom/HTMLLinkElement/prerender-insert-after-stop.html
736
737         * loader/Prerenderer.cpp:
738         (WebCore::Prerenderer::render):
739
740 2012-07-26  Sheriff Bot  <webkit.review.bot@gmail.com>
741
742         Unreviewed, rolling out r123525.
743         http://trac.webkit.org/changeset/123525
744         https://bugs.webkit.org/show_bug.cgi?id=92421
745
746         it needed to be rolled out after r123779 too (Requested by
747         jchaffraix on #webkit).
748
749         * rendering/RenderObjectChildList.cpp:
750         (WebCore::RenderObjectChildList::insertChildNode):
751
752 2012-07-26  Pravin D  <pravind.2k4@gmail.com>
753
754         Outline is always painted on the first table row regardless of the row it's set on
755         https://bugs.webkit.org/show_bug.cgi?id=92389
756
757         Reviewed by Eric Seidel.
758
759         The outlines of all the rows are drawn on the row instead of their respective rows.
760         The paint offset for the outlines does not take the row location into account.
761
762         Test: fast/table/table-row-outline-paint.html
763
764         * rendering/RenderTableRow.cpp:
765         (WebCore::RenderTableRow::paintOutlineForRowIfNeeded):
766         The row's location is taken into account for calculating the correct paint offset
767         for its outline.
768
769 2012-07-26  Antoine Labour  <piman@chromium.org>
770
771         [chromium] Combine color matrix filters and apply them in a single pass.
772         https://bugs.webkit.org/show_bug.cgi?id=92059
773
774         Reviewed by Stephen White.
775
776         Sequential color matrix filters can easily be combined, by simply
777         multiplying the color matrices and applying it in a single pass. This
778         helps dramatically with performance (bandwidth savings by avoiding extra
779         copy & clear, also saves fragment shader processing).
780
781         Covered by css3/filters layout tests, added effect-brightness-clamping
782         and effect-brightness-clamping-hw.
783
784         * platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp:
785         (WebCore::CCRenderSurfaceFilters::apply):
786
787 2012-07-26  Ryosuke Niwa  <rniwa@webkit.org>
788
789         Href attribute with javascript protocol is stripped when content is pasted into a XML doucment
790         https://bugs.webkit.org/show_bug.cgi?id=92310
791
792         Reviewed by Adam Barth.
793
794         The bug was caused by setAttributeNS's stripping attributes for which isAttributeToRemove
795         return true instead of setting an empty string. Changing this in setAttributeNS is problematic
796         because it will trigger a logic, in HTMLAnchorElement for example, to resolve the URL.
797
798         Fixed the bug by making XML parsers call parserSetAttributes instead of setAttributeNS.
799         After this patch, handleNamespaceAttributes and handleElementAttributes simply fills up a Vector
800         with which startElementNs (or parseStartElement in Qt) calls parserSetAttributes.
801
802         * dom/Element.cpp:
803         (WebCore::Element::parserSetAttributes): Sets emptyAtom instead of nullAtom as nullAtom can be
804         turned into "null".
805         (WebCore::Element::parseAttributeName): Extracted from setAttributeNS.
806         (WebCore::Element::setAttributeNS): No longer takes FragmentScriptingPermission.
807         * dom/Element.h:
808         (Element):
809         * editing/markup.cpp:
810         (WebCore::completeURLs): Don't resolve URLs when it's empty since empty attribute has a canonical
811         meaning in some cases. e.g. <frame src=""></iframe>
812         * xml/parser/XMLDocumentParserLibxml2.cpp:
813         (WebCore::handleNamespaceAttributes): Renamed from handleElementNamespaces. Call
814         parserSetAttributes even when exiting early to be maintain the same behavior.
815         (WebCore::handleElementAttributes):
816         (WebCore::XMLDocumentParser::startElementNs):
817         * xml/parser/XMLDocumentParserQt.cpp:
818         (WebCore::handleNamespaceAttributes): Use XMLNSNames::xmlnsNamespaceURI. Call parserSetAttributes
819         even when exiting early to be maintain the same behavior.
820         (WebCore::handleElementAttributes):
821         (WebCore::XMLDocumentParser::parseStartElement):
822
823 2012-07-26  Dan Bernstein  <mitz@apple.com>
824
825         <svg> element with no intrinsic size and max-width gets sized incorrectly
826         https://bugs.webkit.org/show_bug.cgi?id=92410
827
828         Reviewed by Dean Jackson.
829
830         Test: svg/css/max-width-2.html
831
832         * rendering/RenderReplaced.cpp:
833         (WebCore::RenderReplaced::computeReplacedLogicalWidth): The rule for computing the width for
834         elements whose computed width and height are both auto and which have no intrinsic size, but
835         have an intrinsic ratio was applied only to elements with a content renderer (such as <img>
836         with an SVG source). Removed the requirement to have a content renderer, so that it will
837         apply to all elements including <svg>.
838
839 2012-07-26  Tony Chang  <tony@chromium.org>
840
841         Regression: r123696 made css3/flexbox tests failing
842         https://bugs.webkit.org/show_bug.cgi?id=92352
843
844         Reviewed by Levi Weintraub.
845
846         Use roundedLayoutUnit so ports without subpixel layout still pass existing tests.
847
848         Covered by css3/flexbox/flex-algorithm-min-max.html which should pass again.
849
850         * rendering/RenderFlexibleBox.cpp:
851         (WebCore::RenderFlexibleBox::resolveFlexibleLengths):
852
853 2012-07-26  Emil A Eklund  <eae@chromium.org>
854
855         Contained div with right 0 sometimes overlaps parent div
856         https://bugs.webkit.org/show_bug.cgi?id=91521
857
858         Reviewed by Levi Weintraub.
859
860         Due to unnecessary rounding in clientLogicalWidth and clientLogicalHeight
861         we lost precision when computing the width and position of render boxes.
862         Change clientLogicalWidth/Height to return values with subpixel precision
863         to avoid this.
864
865         Test: fast/sub-pixel/position-right-aligns-with-container.html
866
867         * rendering/RenderBox.h:
868         (WebCore::RenderBox::clientLogicalWidth):
869         (WebCore::RenderBox::clientLogicalHeight):
870         Remove unnecessary rounding.
871
872 2012-07-26  Chang Shu  <cshu@webkit.org>
873
874         Build broken when svg is disabled.
875         https://bugs.webkit.org/show_bug.cgi?id=92393.
876
877         Reviewed by Laszlo Gombos.
878
879         Need to surpress unused parameters warning.
880
881         * rendering/FilterEffectRenderer.cpp:
882         (WebCore::FilterEffectRenderer::buildReferenceFilter):
883
884 2012-07-25  Jer Noble  <jer.noble@apple.com>
885
886         Add diagnostic messages when media and plugins load or fail to load.
887         https://bugs.webkit.org/show_bug.cgi?id=92341
888
889         Reviewed by Anders Carlsson.
890
891         Send diagnostic messages when a media or plugin element loads or fails to load. Include in
892         the trace the media engine description, error code, or plugin mime type.
893
894         * html/HTMLEmbedElement.cpp:
895         (WebCore::HTMLEmbedElement::updateWidget): Send a diagnostic message.
896         * html/HTMLMediaElement.cpp:
897         (WebCore::stringForNetworkState): Added convenience function to stringify network states.
898         (WebCore::HTMLMediaElement::mediaLoadingFailed): Send a diagnostic message.
899         (WebCore::HTMLMediaElement::setReadyState): Send a diagnostic message.
900         * html/HTMLObjectElement.cpp:
901         (WebCore::HTMLObjectElement::updateWidget): Send a diagnostic message.
902
903 2012-07-26  Sheriff Bot  <webkit.review.bot@gmail.com>
904
905         Unreviewed, rolling out r123159, r123165, r123168, r123492,
906         and r123650.
907         http://trac.webkit.org/changeset/123159
908         http://trac.webkit.org/changeset/123165
909         http://trac.webkit.org/changeset/123168
910         http://trac.webkit.org/changeset/123492
911         http://trac.webkit.org/changeset/123650
912         https://bugs.webkit.org/show_bug.cgi?id=92406
913
914         allowing inline-table anonymous wrappers is a bad idea due to
915         tons of corner cases that should be properly handled
916         (Requested by jchaffraix on #webkit).
917
918         * rendering/RenderInline.cpp:
919         (WebCore::RenderInline::addChildIgnoringContinuation):
920         * rendering/RenderTable.cpp:
921         (WebCore::RenderTable::createAnonymousWithParentRenderer):
922
923 2012-07-26  Jer Noble  <jer.noble@apple.com>
924
925         Add a ChromeClient method to send diagnostic logging messages from WebCore to the client.
926         https://bugs.webkit.org/show_bug.cgi?id=92340
927
928         Reviewed by Anders Carlsson.
929
930         Add a new ChromeClient menthod, to be implemented by WebKit and WebKit2, which sends
931         a diagnostic logging message up to the client.
932
933         * page/ChromeClient.h:
934         (WebCore::ChromeClient::logDiagnosticMessage):
935         * page/ChromeClient.h:
936         (WebCore::ChromeClient::logDiagnosticMessage):
937         (ChromeClient):
938         * page/DiagnosticLoggingKeys.cpp: Added.
939         (WebCore::DiagnosticLoggingKeys::mediaLoadedKey):
940         (WebCore::DiagnosticLoggingKeys::mediaLoadingFailedKey):
941         (WebCore::DiagnosticLoggingKeys::pluginLoadedKey):
942         (WebCore::DiagnosticLoggingKeys::pluginLoadingFailedKey):
943         (WebCore::DiagnosticLoggingKeys::passKey):
944         (WebCore::DiagnosticLoggingKeys::failKey):
945         (WebCore::DiagnosticLoggingKeys::noopKey):
946         * page/DiagnosticLoggingKeys.h: Added.
947         (DiagnosticLoggingKeys):
948
949         Add the new files DiagnosticLoggingKeys.cpp,h to the project:
950         * CMakeLists.txt:
951         * GNUmakefile.list.am:
952         * Target.pri:
953         * WebCore.gypi:
954         * WebCore.vcproj/WebCore.vcproj:
955         * WebCore.xcodeproj/project.pbxproj:
956
957 2012-07-25  Jer Noble  <jer.noble@apple.com>
958
959         Add setting to enable and disable diagnostic logging.
960         https://bugs.webkit.org/show_bug.cgi?id=92337
961
962         Reviewed by Anders Carlsson.
963
964         Add a new entry in Settings, defaulting to false.
965
966         * page/Settings.cpp:
967         (WebCore::Settings::Settings): Default the new setting to false.
968         * page/Settings.h:
969         (WebCore::Settings::setDiagnosticLoggingEnabled): Simple accessor.
970         (WebCore::Settings::diagnosticLoggingEnabled): Ditto.
971
972 2012-07-26  Olivier Blin  <olivier.blin@softathome.com>
973
974         Add FastMalloc statistics in window.internals
975         https://bugs.webkit.org/show_bug.cgi?id=91274
976
977         Reviewed by Ryosuke Niwa.
978
979         Test: fast/harness/fastmallocstatistics-object.html
980
981         * CMakeLists.txt:
982         * DerivedSources.make:
983         * DerivedSources.pri:
984         * GNUmakefile.list.am:
985         * Target.pri:
986         * WebCore.gyp/WebCore.gyp:
987         * WebCore.gypi:
988         * WebCore.vcproj/WebCoreTestSupport.vcproj:
989         * WebCore.xcodeproj/project.pbxproj:
990         * testing/FastMallocStatistics.h: Added.
991         (WebCore):
992         (FastMallocStatistics):
993         (WebCore::FastMallocStatistics::create):
994         (WebCore::FastMallocStatistics::reservedVMBytes):
995         (WebCore::FastMallocStatistics::committedVMBytes):
996         (WebCore::FastMallocStatistics::freeListBytes):
997         (WebCore::FastMallocStatistics::FastMallocStatistics):
998         * testing/FastMallocStatistics.idl: Added.
999         * testing/Internals.cpp:
1000         (WebCore::Internals::fastMallocStatistics):
1001         (WebCore):
1002         * testing/Internals.h:
1003         (WebCore):
1004         (Internals):
1005         * testing/Internals.idl:
1006
1007 2012-07-26  Adrienne Walker  <enne@google.com>
1008
1009         [chromium] Remove redundant surface origin transforms
1010         https://bugs.webkit.org/show_bug.cgi?id=91815
1011
1012         Reviewed by Stephen White.
1013
1014         Bug 91417 changed draw transforms to become equivalent to origin
1015         transforms for surfaces. This change removes them as they are no
1016         longer needed for anything.
1017
1018         No new tests. Just a refactoring.
1019
1020         * platform/graphics/chromium/RenderSurfaceChromium.h:
1021         (RenderSurfaceChromium):
1022         * platform/graphics/chromium/cc/CCDamageTracker.cpp:
1023         (WebCore::CCDamageTracker::extendDamageForRenderSurface):
1024         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
1025         (WebCore::computeScrollCompensationMatrixForChildren):
1026         (WebCore::calculateDrawTransformsInternal):
1027         * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
1028         (WebCore::::leaveToRenderTarget):
1029         (WebCore::::unoccludedContributingSurfaceContentRect):
1030         * platform/graphics/chromium/cc/CCRenderPassDrawQuad.cpp:
1031         (WebCore::CCRenderPassDrawQuad::create):
1032         (WebCore::CCRenderPassDrawQuad::CCRenderPassDrawQuad):
1033         * platform/graphics/chromium/cc/CCRenderPassDrawQuad.h:
1034         (CCRenderPassDrawQuad):
1035         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
1036         (WebCore::CCRenderSurface::createSharedQuadState):
1037         (WebCore::CCRenderSurface::createReplicaSharedQuadState):
1038         (WebCore::CCRenderSurface::appendQuads):
1039         * platform/graphics/chromium/cc/CCRenderSurface.h:
1040         (CCRenderSurface):
1041
1042 2012-07-25  Andrey Kosyakov  <caseq@chromium.org>
1043
1044         Web Inspector: simplify handling of status bar items
1045         https://bugs.webkit.org/show_bug.cgi?id=92143
1046
1047         Reviewed by Pavel Feldman.
1048
1049         - split status bars into "global" (always in the bottom) and "panel"
1050             (on top of the drawer when drawer is shown)
1051         - use "inner" status bar section in global status bar to display either
1052             panel status bar items or drawer view items (depending on drawer visibility)
1053         - let panels/views manage their counters as part of their status bar
1054             items, not through special interface members;
1055         - get rid of absolute positioning in the status bars where possible;
1056
1057         * inspector/front-end/AdvancedSearchController.js:
1058         (WebInspector.SearchView.prototype.get statusBarItems):
1059         * inspector/front-end/Drawer.js:
1060         (WebInspector.Drawer):
1061         (WebInspector.Drawer.prototype.show.animationFinished):
1062         (WebInspector.Drawer.prototype.show):
1063         (WebInspector.Drawer.prototype.hide.animationFinished):
1064         (WebInspector.Drawer.prototype.hide):
1065         (WebInspector.Drawer.prototype._startStatusBarDragging):
1066         * inspector/front-end/Panel.js:
1067         (WebInspector.Panel.prototype.wasShown):
1068         * inspector/front-end/TimelinePanel.js:
1069         (WebInspector.TimelinePanel.prototype.get statusBarItems):
1070         (WebInspector.TimelinePanel.prototype.willHide):
1071         * inspector/front-end/elementsPanel.css:
1072         (.crumbs):
1073         * inspector/front-end/inspector.css:
1074         (#main):
1075         (body.drawer-visible #main-panels):
1076         (.status-bar):
1077         (.status-bar-item):
1078         (#panel-status-bar-placeholder):
1079         (body.drawer-visible #panel-status-bar-placeholder):
1080         (#panel-status-bar-resizer):
1081         (#panel-status-bar):
1082         (#panel-status-bar > div):
1083         (#error-warning-count):
1084         (#drawer):
1085         (#drawer-contents):
1086         (.status-bar-items):
1087         (.drawer-header):
1088         (#inner-status-bar):
1089         (.search-status-bar-item):
1090         (.search-status-bar-message):
1091         (.search-status-bar-progress):
1092         (body:not(.platform-mac) .search-status-bar-progress):
1093         (body.platform-mac .search-status-bar-progress):
1094         (.search-status-bar-stop-button-item):
1095         (.search-status-bar-stop-button .glyph):
1096         (.search-results-status-bar-message):
1097         * inspector/front-end/inspector.html:
1098         * inspector/front-end/inspector.js:
1099         (WebInspector._createGlobalStatusBarItems):
1100         (WebInspector.showViewInDrawer):
1101         (WebInspector._closePreviousDrawerView):
1102         * inspector/front-end/timelinePanel.css:
1103         (.timeline-records-counter):
1104
1105 2012-07-26  Christophe Dumez  <christophe.dumez@intel.com>
1106
1107         [EFL][WK2] Implement Network Information provider
1108         https://bugs.webkit.org/show_bug.cgi?id=92343
1109
1110         Reviewed by Kenneth Rohde Christiansen.
1111
1112         Moved Network Information provider code from WebKit1
1113         to WebCore so that it can be shared with WebKit2.
1114
1115         No new tests, no behavior change.
1116
1117         * PlatformEfl.cmake:
1118         * platform/efl/NetworkInfoProviderEfl.cpp: Copied from Source/WebKit/efl/WebCoreSupport/NetworkInfoClientEfl.cpp.
1119         (WebCore):
1120         (WebCore::NetworkInfoProviderEfl::NetworkInfoProviderEfl):
1121         (WebCore::NetworkInfoProviderEfl::startUpdating):
1122         (WebCore::NetworkInfoProviderEfl::stopUpdating):
1123         (WebCore::NetworkInfoProviderEfl::bandwidth):
1124         * platform/efl/NetworkInfoProviderEfl.h: Added.
1125         (WebCore):
1126         (NetworkInfoProviderEfl):
1127
1128 2012-07-25  Pavel Feldman  <pfeldman@chromium.org>
1129
1130         Web Inspector: SASS source mapping straw man (behind experiment)
1131         https://bugs.webkit.org/show_bug.cgi?id=92265
1132
1133         Reviewed by Vsevolod Vlasov.
1134
1135         This change introduces SASS mapping support (behind the experiment).
1136
1137         * WebCore.gypi:
1138         * WebCore.vcproj/WebCore.vcproj:
1139         * inspector/compile-front-end.py:
1140         * inspector/front-end/CSSStyleModel.js:
1141         (WebInspector.CSSStyleModel):
1142         (WebInspector.CSSStyleModel.prototype.resourceBinding):
1143         (WebInspector.CSSStyleModel.prototype.setSourceMapping):
1144         (WebInspector.CSSStyleModel.prototype.resetSourceMappings):
1145         (WebInspector.CSSStyleModel.prototype._rawLocationToUILocation):
1146         (WebInspector.CSSLocation):
1147         (WebInspector.CSSRule):
1148         (WebInspector.CSSRule.prototype.get isRegular):
1149         (WebInspector.CSSRule.prototype.uiLocation):
1150         * inspector/front-end/ContentProviders.js:
1151         (WebInspector.StaticContentProvider.prototype.contentType):
1152         * inspector/front-end/SASSSourceMapping.js: Added.
1153         (WebInspector.SASSSourceMapping):
1154         (WebInspector.SASSSourceMapping.prototype._populate):
1155         (WebInspector.SASSSourceMapping.prototype._resourceAdded.didRequestContent):
1156         (WebInspector.SASSSourceMapping.prototype._resourceAdded):
1157         (rawLocationToUILocation):
1158         (uiLocationToRawLocation):
1159         (uiSourceCodes):
1160         (reset):
1161         (WebInspector.SASSSource):
1162         (WebInspector.SASSSource.prototype.isEditable):
1163         * inspector/front-end/ScriptsPanel.js:
1164         (WebInspector.ScriptsPanel.prototype._createSourceFrame):
1165         * inspector/front-end/Settings.js:
1166         (WebInspector.ExperimentsSettings):
1167         * inspector/front-end/StylesPanel.js:
1168         (WebInspector.StylesUISourceCodeProvider):
1169         (WebInspector.StylesUISourceCodeProvider.prototype.rawLocationToUILocation):
1170         (WebInspector.StylesUISourceCodeProvider.prototype.uiLocationToRawLocation):
1171         (WebInspector.StylesUISourceCodeProvider.prototype._resourceAdded):
1172         (WebInspector.StylesUISourceCodeProvider.prototype.reset):
1173         * inspector/front-end/StylesSidebarPane.js:
1174         (WebInspector.StylePropertyTreeElement.prototype):
1175         * inspector/front-end/UISourceCode.js:
1176         (WebInspector.UILocation.prototype.uiLocationToRawLocation):
1177         (WebInspector.UILocation.prototype.url):
1178         * inspector/front-end/Workspace.js:
1179         (WebInspector.Workspace):
1180         * inspector/front-end/inspector.html:
1181
1182 2012-07-26  Vsevolod Vlasov  <vsevik@chromium.org>
1183
1184         Unreviewed r123761 follow-up, inspector closure compilation fix.
1185
1186         * inspector/front-end/Script.js:
1187         (WebInspector.Script.Location.prototype.uiLocation):
1188         * inspector/front-end/ScriptSnippetModel.js:
1189
1190 2012-07-26  Patrick Gansterer  <paroga@webkit.org>
1191
1192         Cleanup GraphicsContext::(getWindowsContext|releaseWindowsContext)
1193         https://bugs.webkit.org/show_bug.cgi?id=92113
1194
1195         Reviewed by Simon Hausmann.
1196
1197         Cleanup the definition of the two methods across different ports and
1198         replace the calls to them with LocalWindowsContext where possible.
1199
1200         * platform/graphics/GraphicsContext.h:
1201         (GraphicsContext):
1202         * platform/win/ScrollbarThemeWin.cpp:
1203         (WebCore::ScrollbarThemeWin::paintThumb):
1204
1205 2012-07-27 Chris Fleizach <cfleizach@apple.com>
1206
1207         WebKit should expose @title as label (AXTitle or AXDescription) sometimes instead of AXHelp, according to the ARIA text alt computation
1208         https://bugs.webkit.org/show_bug.cgi?id=91911
1209
1210         Reviewed by Anders Carlsson.
1211
1212         The ARIA spec states that the title attribute should be used as the last resort for a description of an element. WebKit needs to honor that.
1213
1214         Test: platform/mac/accessibility/title-attribute-used-as-last-resort.html
1215
1216         * accessibility/AccessibilityRenderObject.cpp:
1217         (WebCore::AccessibilityRenderObject::helpText):
1218         (WebCore::AccessibilityRenderObject::accessibilityDescription):
1219
1220 2012-07-26  Vsevolod Vlasov  <vsevik@chromium.org>
1221
1222         Unreviewed r123761 follow-up, inspector closure compilation fix.
1223
1224         * inspector/front-end/Script.js:
1225         (WebInspector.Script.Location.prototype.uiLocation):
1226         * inspector/front-end/ScriptSnippetModel.js:
1227
1228 2012-07-26  Patrick Gansterer  <paroga@webkit.org>
1229
1230         Cleanup GraphicsContext::(getWindowsContext|releaseWindowsContext)
1231         https://bugs.webkit.org/show_bug.cgi?id=92113
1232
1233         Reviewed by Simon Hausmann.
1234
1235         Cleanup the definition of the two methods across different ports and
1236         replace the calls to them with LocalWindowsContext where possible.
1237
1238         * platform/graphics/GraphicsContext.h:
1239         (GraphicsContext):
1240         * platform/win/ScrollbarThemeWin.cpp:
1241         (WebCore::ScrollbarThemeWin::paintThumb):
1242
1243 2012-07-26  Vsevolod Vlasov  <vsevik@chromium.org>
1244
1245         Unreviewed r123761 follow-up, inspector closure compilation fix.
1246
1247         * inspector/front-end/Script.js:
1248         (WebInspector.Script.Location.prototype.uiLocation):
1249         * inspector/front-end/ScriptSnippetModel.js:
1250
1251 2012-07-26  Patrick Gansterer  <paroga@webkit.org>
1252
1253         Cleanup GraphicsContext::(getWindowsContext|releaseWindowsContext)
1254         https://bugs.webkit.org/show_bug.cgi?id=92113
1255
1256         Reviewed by Simon Hausmann.
1257
1258         Cleanup the definition of the two methods across different ports and
1259         replace the calls to them with LocalWindowsContext where possible.
1260
1261         * platform/graphics/GraphicsContext.h:
1262         (GraphicsContext):
1263         * platform/win/ScrollbarThemeWin.cpp:
1264         (WebCore::ScrollbarThemeWin::paintThumb):
1265
1266 2012-07-26  Olivier Blin  <olivier.blin@softathome.com>
1267
1268         Add FastMalloc statistics in window.internals
1269         https://bugs.webkit.org/show_bug.cgi?id=91274
1270
1271         Reviewed by Ryosuke Niwa.
1272
1273         Test: fast/harness/fastmallocstatistics-object.html
1274
1275         * CMakeLists.txt:
1276         * DerivedSources.make:
1277         * DerivedSources.pri:
1278         * GNUmakefile.list.am:
1279         * Target.pri:
1280         * WebCore.gyp/WebCore.gyp:
1281         * WebCore.gypi:
1282         * WebCore.vcproj/WebCoreTestSupport.vcproj:
1283         * WebCore.xcodeproj/project.pbxproj:
1284         * testing/FastMallocStatistics.h: Added.
1285         (WebCore):
1286         (FastMallocStatistics):
1287         (WebCore::FastMallocStatistics::create):
1288         (WebCore::FastMallocStatistics::reservedVMBytes):
1289         (WebCore::FastMallocStatistics::committedVMBytes):
1290         (WebCore::FastMallocStatistics::freeListBytes):
1291         (WebCore::FastMallocStatistics::FastMallocStatistics):
1292         * testing/FastMallocStatistics.idl: Added.
1293         * testing/Internals.cpp:
1294         (WebCore::Internals::fastMallocStatistics):
1295         (WebCore):
1296         * testing/Internals.h:
1297         (WebCore):
1298         (Internals):
1299         * testing/Internals.idl:
1300
1301 2012-07-26  Adrienne Walker  <enne@google.com>
1302
1303         [chromium] Remove redundant surface origin transforms
1304         https://bugs.webkit.org/show_bug.cgi?id=91815
1305
1306         Reviewed by Stephen White.
1307
1308         Bug 91417 changed draw transforms to become equivalent to origin
1309         transforms for surfaces. This change removes them as they are no
1310         longer needed for anything.
1311
1312         No new tests. Just a refactoring.
1313
1314         * platform/graphics/chromium/RenderSurfaceChromium.h:
1315         (RenderSurfaceChromium):
1316         * platform/graphics/chromium/cc/CCDamageTracker.cpp:
1317         (WebCore::CCDamageTracker::extendDamageForRenderSurface):
1318         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
1319         (WebCore::computeScrollCompensationMatrixForChildren):
1320         (WebCore::calculateDrawTransformsInternal):
1321         * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
1322         (WebCore::::leaveToRenderTarget):
1323         (WebCore::::unoccludedContributingSurfaceContentRect):
1324         * platform/graphics/chromium/cc/CCRenderPassDrawQuad.cpp:
1325         (WebCore::CCRenderPassDrawQuad::create):
1326         (WebCore::CCRenderPassDrawQuad::CCRenderPassDrawQuad):
1327         * platform/graphics/chromium/cc/CCRenderPassDrawQuad.h:
1328         (CCRenderPassDrawQuad):
1329         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
1330         (WebCore::CCRenderSurface::createSharedQuadState):
1331         (WebCore::CCRenderSurface::createReplicaSharedQuadState):
1332         (WebCore::CCRenderSurface::appendQuads):
1333         * platform/graphics/chromium/cc/CCRenderSurface.h:
1334         (CCRenderSurface):
1335
1336 2012-07-25  Andrey Kosyakov  <caseq@chromium.org>
1337
1338         Web Inspector: simplify handling of status bar items
1339         https://bugs.webkit.org/show_bug.cgi?id=92143
1340
1341         Reviewed by Pavel Feldman.
1342
1343         - split status bars into "global" (always in the bottom) and "panel"
1344             (on top of the drawer when drawer is shown)
1345         - use "inner" status bar section in global status bar to display either
1346             panel status bar items or drawer view items (depending on drawer visibility)
1347         - let panels/views manage their counters as part of their status bar
1348             items, not through special interface members;
1349         - get rid of absolute positioning in the status bars where possible;
1350
1351         * inspector/front-end/AdvancedSearchController.js:
1352         (WebInspector.SearchView.prototype.get statusBarItems):
1353         * inspector/front-end/Drawer.js:
1354         (WebInspector.Drawer):
1355         (WebInspector.Drawer.prototype.show.animationFinished):
1356         (WebInspector.Drawer.prototype.show):
1357         (WebInspector.Drawer.prototype.hide.animationFinished):
1358         (WebInspector.Drawer.prototype.hide):
1359         (WebInspector.Drawer.prototype._startStatusBarDragging):
1360         * inspector/front-end/Panel.js:
1361         (WebInspector.Panel.prototype.wasShown):
1362         * inspector/front-end/TimelinePanel.js:
1363         (WebInspector.TimelinePanel.prototype.get statusBarItems):
1364         (WebInspector.TimelinePanel.prototype.willHide):
1365         * inspector/front-end/elementsPanel.css:
1366         (.crumbs):
1367         * inspector/front-end/inspector.css:
1368         (#main):
1369         (body.drawer-visible #main-panels):
1370         (.status-bar):
1371         (.status-bar-item):
1372         (#panel-status-bar-placeholder):
1373         (body.drawer-visible #panel-status-bar-placeholder):
1374         (#panel-status-bar-resizer):
1375         (#panel-status-bar):
1376         (#panel-status-bar > div):
1377         (#error-warning-count):
1378         (#drawer):
1379         (#drawer-contents):
1380         (.status-bar-items):
1381         (.drawer-header):
1382         (#inner-status-bar):
1383         (.search-status-bar-item):
1384         (.search-status-bar-message):
1385         (.search-status-bar-progress):
1386         (body:not(.platform-mac) .search-status-bar-progress):
1387         (body.platform-mac .search-status-bar-progress):
1388         (.search-status-bar-stop-button-item):
1389         (.search-status-bar-stop-button .glyph):
1390         (.search-results-status-bar-message):
1391         * inspector/front-end/inspector.html:
1392         * inspector/front-end/inspector.js:
1393         (WebInspector._createGlobalStatusBarItems):
1394         (WebInspector.showViewInDrawer):
1395         (WebInspector._closePreviousDrawerView):
1396         * inspector/front-end/timelinePanel.css:
1397         (.timeline-records-counter):
1398
1399 2012-07-26  Christophe Dumez  <christophe.dumez@intel.com>
1400
1401         [EFL][WK2] Implement Network Information provider
1402         https://bugs.webkit.org/show_bug.cgi?id=92343
1403
1404         Reviewed by Kenneth Rohde Christiansen.
1405
1406         Moved Network Information provider code from WebKit1
1407         to WebCore so that it can be shared with WebKit2.
1408
1409         No new tests, no behavior change.
1410
1411         * PlatformEfl.cmake:
1412         * platform/efl/NetworkInfoProviderEfl.cpp: Copied from Source/WebKit/efl/WebCoreSupport/NetworkInfoClientEfl.cpp.
1413         (WebCore):
1414         (WebCore::NetworkInfoProviderEfl::NetworkInfoProviderEfl):
1415         (WebCore::NetworkInfoProviderEfl::startUpdating):
1416         (WebCore::NetworkInfoProviderEfl::stopUpdating):
1417         (WebCore::NetworkInfoProviderEfl::bandwidth):
1418         * platform/efl/NetworkInfoProviderEfl.h: Added.
1419         (WebCore):
1420         (NetworkInfoProviderEfl):
1421
1422 2012-07-25  Pavel Feldman  <pfeldman@chromium.org>
1423
1424         Web Inspector: SASS source mapping straw man (behind experiment)
1425         https://bugs.webkit.org/show_bug.cgi?id=92265
1426
1427         Reviewed by Vsevolod Vlasov.
1428
1429         This change introduces SASS mapping support (behind the experiment).
1430
1431         * WebCore.gypi:
1432         * WebCore.vcproj/WebCore.vcproj:
1433         * inspector/compile-front-end.py:
1434         * inspector/front-end/CSSStyleModel.js:
1435         (WebInspector.CSSStyleModel):
1436         (WebInspector.CSSStyleModel.prototype.resourceBinding):
1437         (WebInspector.CSSStyleModel.prototype.setSourceMapping):
1438         (WebInspector.CSSStyleModel.prototype.resetSourceMappings):
1439         (WebInspector.CSSStyleModel.prototype._rawLocationToUILocation):
1440         (WebInspector.CSSLocation):
1441         (WebInspector.CSSRule):
1442         (WebInspector.CSSRule.prototype.get isRegular):
1443         (WebInspector.CSSRule.prototype.uiLocation):
1444         * inspector/front-end/ContentProviders.js:
1445         (WebInspector.StaticContentProvider.prototype.contentType):
1446         * inspector/front-end/SASSSourceMapping.js: Added.
1447         (WebInspector.SASSSourceMapping):
1448         (WebInspector.SASSSourceMapping.prototype._populate):
1449         (WebInspector.SASSSourceMapping.prototype._resourceAdded.didRequestContent):
1450         (WebInspector.SASSSourceMapping.prototype._resourceAdded):
1451         (rawLocationToUILocation):
1452         (uiLocationToRawLocation):
1453         (uiSourceCodes):
1454         (reset):
1455         (WebInspector.SASSSource):
1456         (WebInspector.SASSSource.prototype.isEditable):
1457         * inspector/front-end/ScriptsPanel.js:
1458         (WebInspector.ScriptsPanel.prototype._createSourceFrame):
1459         * inspector/front-end/Settings.js:
1460         (WebInspector.ExperimentsSettings):
1461         * inspector/front-end/StylesPanel.js:
1462         (WebInspector.StylesUISourceCodeProvider):
1463         (WebInspector.StylesUISourceCodeProvider.prototype.rawLocationToUILocation):
1464         (WebInspector.StylesUISourceCodeProvider.prototype.uiLocationToRawLocation):
1465         (WebInspector.StylesUISourceCodeProvider.prototype._resourceAdded):
1466         (WebInspector.StylesUISourceCodeProvider.prototype.reset):
1467         * inspector/front-end/StylesSidebarPane.js:
1468         (WebInspector.StylePropertyTreeElement.prototype):
1469         * inspector/front-end/UISourceCode.js:
1470         (WebInspector.UILocation.prototype.uiLocationToRawLocation):
1471         (WebInspector.UILocation.prototype.url):
1472         * inspector/front-end/Workspace.js:
1473         (WebInspector.Workspace):
1474         * inspector/front-end/inspector.html:
1475
1476 2012-07-26  Vsevolod Vlasov  <vsevik@chromium.org>
1477
1478         Unreviewed r123761 follow-up, inspector closure compilation fix.
1479
1480         * inspector/front-end/Script.js:
1481         (WebInspector.Script.Location.prototype.uiLocation):
1482         * inspector/front-end/ScriptSnippetModel.js:
1483
1484 2012-07-26  Patrick Gansterer  <paroga@webkit.org>
1485
1486         Cleanup GraphicsContext::(getWindowsContext|releaseWindowsContext)
1487         https://bugs.webkit.org/show_bug.cgi?id=92113
1488
1489         Reviewed by Simon Hausmann.
1490
1491         Cleanup the definition of the two methods across different ports and
1492         replace the calls to them with LocalWindowsContext where possible.
1493
1494         * platform/graphics/GraphicsContext.h:
1495         (GraphicsContext):
1496         * platform/win/ScrollbarThemeWin.cpp:
1497         (WebCore::ScrollbarThemeWin::paintThumb):
1498
1499 2012-07-27 Chris Fleizach <cfleizach@apple.com>
1500
1501         WebKit should expose @title as label (AXTitle or AXDescription) sometimes instead of AXHelp, according to the ARIA text alt computation
1502         https://bugs.webkit.org/show_bug.cgi?id=91911
1503
1504         Reviewed by Anders Carlsson.
1505
1506         The ARIA spec states that the title attribute should be used as the last resort for a description of an element. WebKit needs to honor that.
1507
1508         Test: platform/mac/accessibility/title-attribute-used-as-last-resort.html
1509
1510         * accessibility/AccessibilityRenderObject.cpp:
1511         (WebCore::AccessibilityRenderObject::helpText):
1512         (WebCore::AccessibilityRenderObject::accessibilityDescription):
1513
1514 2012-07-26  Vsevolod Vlasov  <vsevik@chromium.org>
1515
1516         Unreviewed r123761 follow-up, inspector closure compilation fix.
1517
1518         * inspector/front-end/Script.js:
1519         (WebInspector.Script.Location.prototype.uiLocation):
1520         * inspector/front-end/ScriptSnippetModel.js:
1521
1522 2012-07-26  Patrick Gansterer  <paroga@webkit.org>
1523
1524         Cleanup GraphicsContext::(getWindowsContext|releaseWindowsContext)
1525         https://bugs.webkit.org/show_bug.cgi?id=92113
1526
1527         Reviewed by Simon Hausmann.
1528
1529         Cleanup the definition of the two methods across different ports and
1530         replace the calls to them with LocalWindowsContext where possible.
1531
1532         * platform/graphics/GraphicsContext.h:
1533         (GraphicsContext):
1534         * platform/win/ScrollbarThemeWin.cpp:
1535         (WebCore::ScrollbarThemeWin::paintThumb):
1536
1537 2012-07-26  Vsevolod Vlasov  <vsevik@chromium.org>
1538
1539         Unreviewed r123761 follow-up, inspector closure compilation fix.
1540
1541         * inspector/front-end/Script.js:
1542         (WebInspector.Script.Location.prototype.uiLocation):
1543         * inspector/front-end/ScriptSnippetModel.js:
1544
1545 2012-07-26  Patrick Gansterer  <paroga@webkit.org>
1546
1547         Cleanup GraphicsContext::(getWindowsContext|releaseWindowsContext)
1548         https://bugs.webkit.org/show_bug.cgi?id=92113
1549
1550         Reviewed by Simon Hausmann.
1551
1552         Cleanup the definition of the two methods across different ports and
1553         replace the calls to them with LocalWindowsContext where possible.
1554
1555         * platform/graphics/GraphicsContext.h:
1556         (GraphicsContext):
1557         * platform/win/ScrollbarThemeWin.cpp:
1558         (WebCore::ScrollbarThemeWin::paintThumb):
1559
1560 2012-07-26  Vsevolod Vlasov  <vsevik@chromium.org>
1561
1562         Web Inspector: Introduce generic LiveLocation, make Script.Location inherit it.
1563         https://bugs.webkit.org/show_bug.cgi?id=92388
1564
1565         Reviewed by Pavel Feldman.
1566
1567         Introduced abstract LiveLocation implemented by Script.Location.
1568
1569         * inspector/front-end/Script.js:
1570         (WebInspector.Script.Location):
1571         (WebInspector.Script.Location.prototype.uiLocation):
1572         (WebInspector.Script.Location.prototype.dispose):
1573         * inspector/front-end/UISourceCode.js:
1574         (WebInspector.UISourceCode):
1575         (WebInspector.LiveLocation):
1576         (WebInspector.LiveLocation.prototype.update):
1577         (WebInspector.LiveLocation.prototype.rawLocation):
1578         (WebInspector.LiveLocation.prototype.uiLocation):
1579         (WebInspector.LiveLocation.prototype.dispose):
1580         * inspector/front-end/inspector.html:
1581
1582 2012-07-26  Joshua Netterfield  <jnetterfield@rim.com>
1583
1584         [BlackBerry] readPixels on FBOs are limited to canvas size on SGX platforms
1585         https://bugs.webkit.org/show_bug.cgi?id=92301
1586
1587         Reviewed by Rob Buis.
1588
1589         This fixes fast/canvas/webgl/uninitialized-test.html on BlackBerry, no new tests.
1590
1591         * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
1592         (WebCore::GraphicsContext3D::readPixels):
1593         (WebCore::GraphicsContext3D::readPixelsAndConvertToBGRAIfNecessary):
1594
1595 2012-07-26  Alexei Filippov  <alexeif@chromium.org>
1596
1597         Web Inspector: reduce auto refresh rate of the live native memory diagram
1598         https://bugs.webkit.org/show_bug.cgi?id=92372
1599
1600         Reviewed by Pavel Feldman.
1601
1602         * inspector/front-end/NativeMemorySnapshotView.js:
1603         (WebInspector.NativeMemoryBarChart.prototype.wasShown):
1604
1605 2012-07-26  Alexei Filippov  <alexeif@chromium.org>
1606
1607         Web Inspector: add GC button to the profiles panel toolbar.
1608         https://bugs.webkit.org/show_bug.cgi?id=92369
1609
1610         Reviewed by Pavel Feldman.
1611
1612         * inspector/front-end/ProfilesPanel.js:
1613         (WebInspector.ProfilesPanel.prototype.get statusBarItems):
1614         (WebInspector.ProfilesPanel.prototype._garbageCollectButtonClicked):
1615         * inspector/front-end/profilesPanel.css:
1616         (.garbage-collect-status-bar-item .glyph):
1617
1618 2012-07-26  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
1619
1620         Move region from HitTestResult to HitTestPoint.
1621         https://bugs.webkit.org/show_bug.cgi?id=92367
1622
1623         Reviewed by Antonio Gomes.
1624
1625         Moves the region to HitTestPoint where it makes more sense, and use this
1626         change to simplify hit-testing a new region in RenderFlowThread.
1627
1628         No new functionality. No new tests.
1629
1630         * rendering/HitTestResult.cpp:
1631         (WebCore::HitTestPoint::HitTestPoint):
1632         (WebCore::HitTestPoint::operator=):
1633         (WebCore::HitTestResult::HitTestResult):
1634         (WebCore::HitTestResult::operator=):
1635         * rendering/HitTestResult.h:
1636         (HitTestPoint):
1637         (WebCore::HitTestPoint::region):
1638         (HitTestResult):
1639         * rendering/RenderBlock.cpp:
1640         (WebCore::RenderBlock::nodeAtPoint):
1641         * rendering/RenderBox.cpp:
1642         (WebCore::RenderBox::nodeAtPoint):
1643         * rendering/RenderFlowThread.cpp:
1644         (WebCore::RenderFlowThread::hitTestRegion):
1645         * rendering/RenderLayer.cpp:
1646         (WebCore::RenderLayer::hitTestLayer):
1647         * rendering/RenderRegion.cpp:
1648         (WebCore::RenderRegion::nodeAtPoint):
1649         * rendering/RenderTable.cpp:
1650         (WebCore::RenderTable::nodeAtPoint):
1651         * rendering/RenderTableSection.cpp:
1652         (WebCore::RenderTableSection::nodeAtPoint):
1653
1654 2012-07-26  Jan Keromnes  <janx@linux.com>
1655
1656         Web Inspector: ExtensionView constructor shouldn't take parent argument
1657         https://bugs.webkit.org/show_bug.cgi?id=92326
1658
1659         Reviewed by Pavel Feldman.
1660
1661         ExtensionView's constructor took a parent element parameter and auto-
1662         showed itself in the constructor. This didn't allow lazy showing and
1663         was confusing because it didn't work like a classic View object. Fixed.
1664
1665         No new tests needed: Refactoring with no behavior changes.
1666
1667         * inspector/front-end/ExtensionPanel.js:
1668         (WebInspector.ExtensionPanel):
1669         (WebInspector.ExtensionSidebarPane.prototype.setPage):
1670         * inspector/front-end/ExtensionView.js:
1671         (WebInspector.ExtensionView):
1672
1673 2012-07-26  Joshua Netterfield  <jnetterfield@rim.com>
1674
1675         [WebGL] ANGLEWebKitBridge should support ESSL platforms
1676         https://bugs.webkit.org/show_bug.cgi?id=92295
1677
1678         Reviewed by Rob Buis.
1679
1680         This tells ANGLEWebKitBridge to output ESSL code for the BlackBerry
1681         platform. This eliminates the need for a previous hack. In addition,
1682         some (GLSL) ANGLE output that could not be compiled (for example,
1683         glsl-mat4-to-mat3.html) now compiles.
1684
1685         * platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp:
1686         (WebCore::GraphicsContext3D::GraphicsContext3D):
1687         * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
1688         (WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE):
1689
1690 2012-07-26  Pavel Feldman  <pfeldman@chromium.org>
1691
1692         Web Inspector: replace "textInput" keyboard event listener breakpoint with "input"
1693         https://bugs.webkit.org/show_bug.cgi?id=92384
1694
1695         Reviewed by Vsevolod Vlasov.
1696
1697         * inspector/front-end/BreakpointsSidebarPane.js:
1698         (WebInspector.EventListenerBreakpointsSidebarPane):
1699
1700 2012-07-26  Jer Noble  <jer.noble@apple.com>
1701
1702         Add a MediaPlayer API to retrieve the description of the current media engine.
1703         https://bugs.webkit.org/show_bug.cgi?id=92336
1704
1705         Reviewed by Eric Carlson.
1706
1707         Add a utility function which retrieves, for diagnostic purposes, a brief description
1708         of the current media engine. Stubs have been added for each of the MediaPlayerPrivate
1709         subclasses which return the name of the class.
1710
1711         * platform/graphics/MediaPlayer.cpp:
1712         (WebCore::MediaPlayer::engineDescription):
1713         * platform/graphics/MediaPlayer.h:
1714         * platform/graphics/MediaPlayerPrivate.h:
1715         (WebCore::MediaPlayerPrivateInterface::engineDescription):
1716         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
1717         (WebCore::MediaPlayerPrivateAVFoundation::engineDescription):
1718         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h:
1719         (WebCore::MediaPlayerPrivate::engineDescription):
1720         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
1721         (WebCore::MediaPlayerPrivateGStreamer::engineDescription):
1722         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
1723         (WebCore::MediaPlayerPrivateQTKit::engineDescription):
1724         * platform/graphics/qt/MediaPlayerPrivateQt.h:
1725         (WebCore::MediaPlayerPrivateQt::engineDescription):
1726         * platform/graphics/wince/MediaPlayerPrivateWinCE.h:
1727         (WebCore::MediaPlayerPrivate::engineDescription):
1728         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
1729         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::engineDescription):
1730
1731 2012-07-26  Pavel Feldman  <pfeldman@chromium.org>
1732
1733         Web Inspector: Edits of styles declared after invalid selector are not applied
1734         https://bugs.webkit.org/show_bug.cgi?id=92382
1735
1736         Reviewed by Vsevolod Vlasov.
1737
1738         Now popping selectorless rules as well.
1739
1740         Test: inspector/styles/styles-edit-property-after-invalid-rule.html
1741
1742         * css/CSSParser.cpp:
1743         (WebCore::CSSParser::createStyleRule):
1744
1745 2012-07-26  Joshua Netterfield  <jnetterfield@rim.com>
1746
1747         [WebGL] GraphicsContext3D::readPixels has extraneous code from GraphicsContext3D::readPixelsIMG
1748         https://bugs.webkit.org/show_bug.cgi?id=92302
1749
1750         Reviewed by Noam Rosenthal.
1751
1752         This undoes a mistake from https://bugs.webkit.org/show_bug.cgi?id=90567.
1753
1754         No new tests, because it introduces no new functionality, but it makes the WebGL aquarium demo
1755         run quite a bit smoother on SGX :)
1756
1757         * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
1758         (WebCore::GraphicsContext3D::readPixels):
1759
1760 2012-07-26  Yury Semikhatsky  <yurys@chromium.org>
1761
1762         Unreviewed. Revert r123740 as it breaks AppleMac compilation.
1763
1764         * WebCore.exp.in:
1765         * inspector/InspectorMemoryAgent.cpp:
1766         (WebCore):
1767
1768 2012-07-26  Yury Semikhatsky  <yurys@chromium.org>
1769
1770         Unreviewed. Fix AppleMac compilation after r123740.
1771
1772         * WebCore.exp.in: Added missing symbol.
1773
1774 2012-07-26  Yury Semikhatsky  <yurys@chromium.org>
1775
1776         Web Inspector: move StringImpl size calculation to StringImpl
1777         https://bugs.webkit.org/show_bug.cgi?id=92359
1778
1779         Reviewed by Pavel Feldman.
1780
1781         Moved stringSize(StringImpl*) implementation from InspectorMemoryAgent to
1782         StringImpl::sizeInBytes();
1783
1784         * inspector/InspectorMemoryAgent.cpp:
1785         (WebCore):
1786
1787 2012-07-26  Charles Wei  <charles.wei@torchmobile.com.cn>
1788
1789         Remove redundant include of PageGroup.h in FrameLoader.cpp
1790         https://bugs.webkit.org/show_bug.cgi?id=92357
1791
1792         Reviewed by Kentaro Hara.
1793
1794
1795         No new tests, just remove redundant include file.
1796
1797         * loader/FrameLoader.cpp:
1798
1799 2012-07-26  Eric Seidel  <eric@webkit.org>
1800
1801         2% of all samples running grid demo show up in StyleResolver::canShareStyleWithElement, 20% of those due to getAttribute instead of fastGetAttribute
1802         https://bugs.webkit.org/show_bug.cgi?id=92257
1803
1804         Reviewed by Andreas Kling.
1805
1806         This check was added 7 years ago by hyatt in:
1807         http://trac.webkit.org/changeset/10984
1808         And then later made slow after triggering an ASSERT added:
1809         http://trac.webkit.org/changeset/97670
1810
1811         SVG uses a "type" attribute (and it is animatable), but only when
1812         used on filter elements:
1813         http://www.w3.org/TR/SVG/attindex.html
1814         In any case, this does not apply here, and is certainly not what
1815         this check was originally intended for.
1816
1817         I've moved the check to canShareStyleWithControl
1818         as it is only needed when the elements in question are both input elements.
1819
1820         * css/StyleResolver.cpp:
1821         (WebCore::StyleResolver::collectMatchingRulesForList):
1822
1823 2012-07-26  Yury Semikhatsky  <yurys@chromium.org>
1824
1825         Web Inspector: add memory reporting routine to StyleResolver
1826         https://bugs.webkit.org/show_bug.cgi?id=92259
1827
1828         Reviewed by Vsevolod Vlasov.
1829
1830         SyleResolver::reportMemoryUsage is added for estimating StyleResolver
1831         memory footprint.
1832
1833         * css/StyleResolver.cpp:
1834         (RuleData):
1835         (RuleSet):
1836         (RuleSetSelectorPair):
1837         (WebCore::StyleResolver::Features::reportMemoryUsage):
1838         (WebCore):
1839         (WebCore::StyleResolver::collectMatchingRulesForList):
1840         * css/StyleResolver.h:
1841         (Features):
1842         (StyleResolver):
1843         * dom/Document.cpp:
1844         (WebCore::Document::reportMemoryUsage):
1845         * dom/MemoryInstrumentation.h:
1846         (MemoryInstrumentation):
1847         (WebCore::MemoryClassInfo::addInstrumentedHashSet):
1848         (WebCore::MemoryClassInfo::addInstrumentedVector):
1849         (WebCore::MemoryInstrumentation::addHashMap):
1850         (WebCore):
1851         (WebCore::MemoryInstrumentation::addInstrumentedCollection):
1852
1853 2012-07-26  Tommy Widenflycht  <tommyw@google.com>
1854
1855         MediaStream API: Remove DeprecatedPeerConnection
1856         https://bugs.webkit.org/show_bug.cgi?id=92106
1857
1858         Reviewed by Adam Barth.
1859
1860         Since we are getting ready to add an updated PeerConnection
1861         the old DeprecatedPeerConnection will have to go.
1862
1863         No new tests, and old tests converted to use PeerConnection00.
1864
1865         * CMakeLists.txt:
1866         * GNUmakefile.list.am:
1867         * Modules/mediastream/DOMWindowMediaStream.idl:
1868         * Modules/mediastream/DeprecatedPeerConnection.cpp: Removed.
1869         * Modules/mediastream/DeprecatedPeerConnection.h: Removed.
1870         * Modules/mediastream/DeprecatedPeerConnection.idl: Removed.
1871         * Modules/mediastream/SignalingCallback.h: Removed.
1872         * Modules/mediastream/SignalingCallback.idl: Removed.
1873         * PlatformBlackBerry.cmake:
1874         * PlatformEfl.cmake:
1875         * UseJSC.cmake:
1876         * WebCore.gypi:
1877         * bindings/generic/RuntimeEnabledFeatures.h:
1878         * bindings/js/JSDeprecatedPeerConnectionCustom.cpp: Removed.
1879         * dom/EventTargetFactory.in:
1880         * platform/mediastream/DeprecatedPeerConnectionHandler.h: Removed.
1881         * platform/mediastream/DeprecatedPeerConnectionHandlerClient.h: Removed.
1882         * platform/mediastream/blackberry/DeprecatedPeerConnectionHandler.cpp: Removed.
1883         * platform/mediastream/chromium/DeprecatedPeerConnectionHandler.cpp: Removed.
1884         * platform/mediastream/chromium/DeprecatedPeerConnectionHandlerInternal.cpp: Removed.
1885         * platform/mediastream/chromium/DeprecatedPeerConnectionHandlerInternal.h: Removed.
1886         * platform/mediastream/gstreamer/DeprecatedPeerConnectionHandler.cpp: Removed.
1887
1888 2012-07-26  Mike West  <mkwst@chromium.org>
1889
1890         CSP 1.1: Implement the Content Security Policy script interface.
1891         https://bugs.webkit.org/show_bug.cgi?id=91707
1892
1893         Reviewed by Adam Barth.
1894
1895         The CSP 1.1 editor's draft defines a script interface that gives
1896         developers the ability to query a document regarding the restrictions
1897         set by it's currently active content security policy[1]. This patch
1898         exposes that API in terms of a new DOMSecurityPolicy object.
1899
1900         Data for the API is gathered from the existing ContentSecurityPolicy
1901         object on the containing document. CSP's various methods have been
1902         extended with a `reportingStatus` parameter which, unsurprisingly,
1903         determines whether a violation report should be sent for blocked
1904         resources. This allows us to reuse the same codepaths by simply using
1905         ContentSecurityPolicy::SuppressReport when querying on behalf of the
1906         API, and ContentSecurityPolicy::SendReport when checking resources a
1907         page wants to load.
1908
1909         This feature is gated on the CSP_NEXT flag, which is currently disabled
1910         for all ports other than Chromium.
1911
1912         [1]: https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html#script-interfaces--experimental
1913
1914         Tests: http/tests/security/contentSecurityPolicy/1.1/securitypolicy-allowconnectionto.html
1915                http/tests/security/contentSecurityPolicy/1.1/securitypolicy-alloweval.html
1916                http/tests/security/contentSecurityPolicy/1.1/securitypolicy-allowfontfrom.html
1917                http/tests/security/contentSecurityPolicy/1.1/securitypolicy-allowframefrom.html
1918                http/tests/security/contentSecurityPolicy/1.1/securitypolicy-allowimagefrom.html
1919                http/tests/security/contentSecurityPolicy/1.1/securitypolicy-allowmediafrom.html
1920                http/tests/security/contentSecurityPolicy/1.1/securitypolicy-allowobjectfrom.html
1921                http/tests/security/contentSecurityPolicy/1.1/securitypolicy-allowscriptfrom.html
1922                http/tests/security/contentSecurityPolicy/1.1/securitypolicy-allowstylefrom.html
1923                http/tests/security/contentSecurityPolicy/1.1/securitypolicy-isactive.html
1924                http/tests/security/contentSecurityPolicy/1.1/securitypolicy-reporturi.html
1925
1926         * CMakeLists.txt:
1927         * DerivedSources.cpp:
1928         * DerivedSources.make:
1929         * DerivedSources.pri:
1930         * GNUmakefile.list.am:
1931         * WebCore.gypi:
1932         * bindings/gobject/GNUmakefile.am:
1933         * WebCore.xcodeproj/project.pbxproj:
1934             We added a new object, so let's tell _everyone!_
1935         * dom/Document.cpp:
1936         (WebCore::Document::securityPolicy):
1937             Expose the SecurityPolicy object via Document, gated on CSP_NEXT.
1938         (WebCore):
1939         * dom/Document.h:
1940         (WebCore):
1941         (Document):
1942         * dom/Document.idl:
1943             Adding the SecurityPolicy object to the document, gated on CSP_NEXT.
1944         * page/ContentSecurityPolicy.cpp:
1945         (CSPDirectiveList):
1946         (WebCore::CSPDirectiveList::checkInline):
1947         (WebCore::CSPDirectiveList::checkNonce):
1948         (WebCore::CSPDirectiveList::checkSource):
1949             Extracting the core checks out into separate methods.
1950         (WebCore::CSPDirectiveList::checkEvalAndReportViolation):
1951             Use checkEval.
1952         (WebCore::CSPDirectiveList::checkNonceAndReportViolation):
1953             Use checkNonce.
1954         (WebCore::CSPDirectiveList::checkInlineAndReportViolation):
1955             Use checkInline.
1956         (WebCore::CSPDirectiveList::checkSourceAndReportViolation):
1957             Use checkSource.
1958         (WebCore::CSPDirectiveList::allowJavaScriptURLs):
1959         (WebCore::CSPDirectiveList::allowInlineEventHandlers):
1960         (WebCore::CSPDirectiveList::allowInlineScript):
1961         (WebCore::CSPDirectiveList::allowInlineStyle):
1962         (WebCore::CSPDirectiveList::allowEval):
1963         (WebCore::CSPDirectiveList::allowScriptFromSource):
1964         (WebCore::CSPDirectiveList::allowObjectFromSource):
1965         (WebCore::CSPDirectiveList::allowChildFrameFromSource):
1966         (WebCore::CSPDirectiveList::allowImageFromSource):
1967         (WebCore::CSPDirectiveList::allowStyleFromSource):
1968         (WebCore::CSPDirectiveList::allowFontFromSource):
1969         (WebCore::CSPDirectiveList::allowMediaFromSource):
1970         (WebCore::CSPDirectiveList::allowConnectToSource):
1971             These methods now branch on `reportingStatus`: if `SendReoport`,
1972             they call `checkXAndReportViolation`, otherwise, they call `checkX`.
1973         (WebCore::CSPDirectiveList::gatherReportURIs):
1974             New method that gathers the violation report URIs into a DOMStringList.
1975         (WebCore::isAllowedByAllWithCallStack):
1976         (WebCore::isAllowedByAllWithContext):
1977         (WebCore::isAllowedByAllWithURL):
1978             These now pass reportingStatus through to the various `allowX` methods.
1979         (WebCore::ContentSecurityPolicy::allowJavaScriptURLs):
1980         (WebCore::ContentSecurityPolicy::allowInlineEventHandlers):
1981         (WebCore::ContentSecurityPolicy::allowInlineScript):
1982         (WebCore::ContentSecurityPolicy::allowInlineStyle):
1983         (WebCore::ContentSecurityPolicy::allowEval):
1984         (WebCore::ContentSecurityPolicy::allowScriptFromSource):
1985         (WebCore::ContentSecurityPolicy::allowObjectFromSource):
1986         (WebCore::ContentSecurityPolicy::allowChildFrameFromSource):
1987         (WebCore::ContentSecurityPolicy::allowImageFromSource):
1988         (WebCore::ContentSecurityPolicy::allowStyleFromSource):
1989         (WebCore::ContentSecurityPolicy::allowFontFromSource):
1990         (WebCore::ContentSecurityPolicy::allowMediaFromSource):
1991         (WebCore::ContentSecurityPolicy::allowConnectToSource):
1992             These accept a new `reportingStatus` parameter, which is passed through
1993             to the CSPDirectiveList methods.
1994         (WebCore::ContentSecurityPolicy::isActive):
1995             New method that returns `true` if policy is active.
1996         (WebCore::ContentSecurityPolicy::gatherReportURIs):
1997             New method that returns a DOMStringList of violation report URIs.
1998         * page/ContentSecurityPolicy.h:
1999         (WebCore):
2000         * page/DOMSecurityPolicy.cpp: Added.
2001         (WebCore::DOMSecurityPolicy::DOMSecurityPolicy):
2002         (WebCore):
2003         (WebCore::DOMSecurityPolicy::~DOMSecurityPolicy):
2004         (WebCore::DOMSecurityPolicy::isActive):
2005         (WebCore::DOMSecurityPolicy::reportURIs):
2006         (WebCore::DOMSecurityPolicy::allowsInlineScript):
2007         (WebCore::DOMSecurityPolicy::allowsInlineStyle):
2008         (WebCore::DOMSecurityPolicy::allowsEval):
2009         (WebCore::DOMSecurityPolicy::allowsConnectionTo):
2010         (WebCore::DOMSecurityPolicy::allowsFontFrom):
2011         (WebCore::DOMSecurityPolicy::allowsFrameFrom):
2012         (WebCore::DOMSecurityPolicy::allowsImageFrom):
2013         (WebCore::DOMSecurityPolicy::allowsMediaFrom):
2014         (WebCore::DOMSecurityPolicy::allowsObjectFrom):
2015         (WebCore::DOMSecurityPolicy::allowsScriptFrom):
2016         (WebCore::DOMSecurityPolicy::allowsStyleFrom):
2017         * page/DOMSecurityPolicy.h: Added.
2018         (WebCore):
2019         (DOMSecurityPolicy):
2020         (WebCore::DOMSecurityPolicy::create):
2021         * page/DOMSecurityPolicy.idl: Added.
2022
2023 2012-07-26  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2024
2025         Unreviewed. Fix build break on mac win port by r123716.
2026
2027         * platform/KURL.h:
2028         (KURL):
2029
2030 2012-07-26  Sheriff Bot  <webkit.review.bot@gmail.com>
2031
2032         Unreviewed, rolling out r123715.
2033         http://trac.webkit.org/changeset/123715
2034         https://bugs.webkit.org/show_bug.cgi?id=92356
2035
2036         Breaks compilation on multiple platforms (Requested by vsevik
2037         on #webkit).
2038
2039         * inspector/InspectorController.cpp:
2040         (WebCore::InspectorController::InspectorController):
2041         (WebCore::InspectorController::inspectedPageDestroyed):
2042         * inspector/InspectorInstrumentation.cpp:
2043         (WebCore):
2044         * inspector/InspectorInstrumentation.h:
2045         (InspectorInstrumentation):
2046         * inspector/InspectorResourceAgent.cpp:
2047         (WebCore::InspectorResourceAgent::didReceiveData):
2048         (WebCore::InspectorResourceAgent::getResponseBody):
2049         * inspector/InspectorResourceAgent.h:
2050         (InspectorResourceAgent):
2051         * inspector/NetworkResourcesData.cpp:
2052         (WebCore::NetworkResourcesData::ResourceData::ResourceData):
2053         (WebCore::NetworkResourcesData::ResourceData::setContent):
2054         (WebCore::NetworkResourcesData::ResourceData::dataLength):
2055         (WebCore::NetworkResourcesData::ResourceData::appendData):
2056         (WebCore::NetworkResourcesData::ResourceData::decodeDataToContent):
2057         (WebCore::NetworkResourcesData::setResourceContent):
2058         (WebCore::NetworkResourcesData::maybeAddResourceData):
2059         (WebCore::NetworkResourcesData::maybeDecodeDataToContent):
2060         (WebCore::NetworkResourcesData::setResourcesDataSizeLimits):
2061         (WebCore::NetworkResourcesData::ensureFreeSpace):
2062         * inspector/NetworkResourcesData.h:
2063         (ResourceData):
2064         (WebCore::NetworkResourcesData::ResourceData::cachedResource):
2065         (NetworkResourcesData):
2066         * loader/cache/CachedResource.cpp:
2067         (WebCore::CachedResource::~CachedResource):
2068         (WebCore::CachedResource::removeClient):
2069         (WebCore::CachedResource::deleteIfPossible):
2070         * loader/cache/CachedResource.h:
2071         (CachedResource):
2072         * loader/cache/CachedResourceLoader.cpp:
2073         (WebCore::CachedResourceLoader::garbageCollectDocumentResourcesTimerFired):
2074         (WebCore::CachedResourceLoader::clearPreloads):
2075         * loader/cache/CachedResourceLoader.h:
2076         (CachedResourceLoader):
2077         * loader/cache/MemoryCache.cpp:
2078         (WebCore::MemoryCache::evict):
2079         * testing/InternalSettings.cpp:
2080         * testing/Internals.cpp:
2081         * testing/Internals.h:
2082         (Internals):
2083
2084 2012-07-26  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2085
2086         Add *explicit* keyword to constructors in WebCore/platform
2087         https://bugs.webkit.org/show_bug.cgi?id=92238
2088
2089         Reviewed by Kentaro Hara.
2090
2091         As a step to let *explicit* keyword add to constructors which have a parameter,
2092         *explicit* keyword is added to Source/WebCore/platform in order to avoid implicit
2093         type conversion.
2094
2095         Some files in platform directory can't use explicit keyword because of build breaks.
2096
2097         No new tests. Covered by existing tests.
2098
2099         * platform/AutodrainedPool.h:
2100         (AutodrainedPool):
2101         * platform/ContentType.h:
2102         (ContentType):
2103         * platform/ContextMenu.h:
2104         (ContextMenu):
2105         * platform/ContextMenuItem.h:
2106         (ContextMenuItem):
2107         * platform/Cursor.h:
2108         (WebCore::SharedCursor::SharedCursor):
2109         (Cursor):
2110         * platform/KURL.h:
2111         (WebCore::KURL::KURL):
2112         (KURL):
2113         * platform/KURLGooglePrivate.h:
2114         (KURLGooglePrivate):
2115         * platform/PODRedBlackTree.h:
2116         (WebCore::PODRedBlackTree::PODRedBlackTree):
2117         * platform/Pasteboard.h:
2118         (Pasteboard):
2119         * platform/PlatformEvent.h:
2120         (WebCore::PlatformEvent::PlatformEvent):
2121         * platform/PlatformKeyboardEvent.h:
2122         (PlatformKeyboardEvent):
2123         * platform/PlatformMouseEvent.h:
2124         (PlatformMouseEvent):
2125         * platform/PlatformPasteboard.h:
2126         (PlatformPasteboard):
2127         * platform/PlatformTouchEvent.h:
2128         (PlatformTouchEvent):
2129         * platform/PlatformWheelEvent.h:
2130         (PlatformWheelEvent):
2131         * platform/RunLoop.h:
2132         (TimerBase):
2133         * platform/ScrollAnimator.h:
2134         (ScrollAnimator):
2135         * platform/ScrollAnimatorNone.h:
2136         (ScrollAnimatorNone):
2137         * platform/SharedBuffer.h:
2138         (SharedBuffer):
2139         * platform/WheelFlingPlatformGestureCurve.h:
2140         (WheelFlingPlatformGestureCurve):
2141         * platform/Widget.h:
2142         (Widget):
2143
2144 2012-07-26  Vsevolod Vlasov  <vsevik@chromium.org>
2145
2146         Web Inspector: Resource agent's reference to cached resources should be weak.
2147         https://bugs.webkit.org/show_bug.cgi?id=92108
2148
2149         Reviewed by Pavel Feldman.
2150
2151         NetworkResourcesData now stores a raw pointer to CachedResource.
2152         CachedResource now notifies InspectorInstrumentation that it will be destroyed.
2153         InspectorInstrumentation stores a set of InstrumentingAgents and broadcasts willDestroyCachedResource event to all available resourceAgents.
2154         Destroyed resources content is saved to NetworkResourcesData.
2155         Changed content size variables type in NetworkResourcesData from int to size_t.
2156
2157         Tests: http/tests/inspector/network/cached-resource-destroyed-moved-to-storage.html
2158                http/tests/inspector/network/cached-resource-destroyed-too-big-discarded.html
2159
2160         * inspector/InspectorController.cpp:
2161         (WebCore::InspectorController::InspectorController):
2162         (WebCore::InspectorController::inspectedPageDestroyed):
2163         * inspector/InspectorInstrumentation.cpp:
2164         (WebCore):
2165         (WebCore::InspectorInstrumentation::willDestroyCachedResourceImpl):
2166         (WebCore::InspectorInstrumentation::registerInstrumentingAgents):
2167         (WebCore::InspectorInstrumentation::unregisterInstrumentingAgents):
2168         * inspector/InspectorInstrumentation.h:
2169         (InspectorInstrumentation):
2170         (WebCore::InspectorInstrumentation::willDestroyCachedResource):
2171         (WebCore):
2172         * inspector/InspectorResourceAgent.cpp:
2173         (WebCore::InspectorResourceAgent::didReceiveData):
2174         (WebCore::InspectorResourceAgent::willDestroyCachedResource):
2175         (WebCore):
2176         (WebCore::InspectorResourceAgent::getResponseBody):
2177         * inspector/InspectorResourceAgent.h:
2178         (InspectorResourceAgent):
2179         * inspector/NetworkResourcesData.cpp:
2180         (WebCore::NetworkResourcesData::ResourceData::ResourceData):
2181         (WebCore::NetworkResourcesData::ResourceData::setContent):
2182         (WebCore::NetworkResourcesData::ResourceData::dataLength):
2183         (WebCore::NetworkResourcesData::ResourceData::appendData):
2184         (WebCore::NetworkResourcesData::ResourceData::decodeDataToContent):
2185         (WebCore::NetworkResourcesData::setResourceContent):
2186         (WebCore::NetworkResourcesData::maybeAddResourceData):
2187         (WebCore::NetworkResourcesData::maybeDecodeDataToContent):
2188         (WebCore::NetworkResourcesData::removeCachedResource):
2189         (WebCore):
2190         (WebCore::NetworkResourcesData::setResourcesDataSizeLimits):
2191         (WebCore::NetworkResourcesData::ensureFreeSpace):
2192         * inspector/NetworkResourcesData.h:
2193         (ResourceData):
2194         (WebCore::NetworkResourcesData::ResourceData::base64Encoded):
2195         (WebCore::NetworkResourcesData::ResourceData::cachedResource):
2196         (NetworkResourcesData):
2197         * loader/cache/CachedResource.cpp:
2198         (WebCore::CachedResource::~CachedResource):
2199         (WebCore::CachedResource::removeClient):
2200         (WebCore::CachedResource::deleteIfPossible):
2201         * loader/cache/CachedResource.h:
2202         (CachedResource):
2203         * loader/cache/CachedResourceLoader.cpp:
2204         (WebCore::CachedResourceLoader::garbageCollectDocumentResourcesTimerFired):
2205         (WebCore::CachedResourceLoader::garbageCollectDocumentResources):
2206         (WebCore::CachedResourceLoader::clearPreloads):
2207         * loader/cache/CachedResourceLoader.h:
2208         (CachedResourceLoader):
2209         * loader/cache/MemoryCache.cpp:
2210         (WebCore::MemoryCache::evict):
2211         * testing/InternalSettings.cpp:
2212         * testing/Internals.cpp:
2213         (WebCore::Internals::garbageCollectDocumentResources):
2214         (WebCore):
2215         * testing/Internals.h:
2216         (Internals):
2217
2218 2012-07-26  Luke Macpherson   <macpherson@chromium.org>
2219
2220         Fix null ptr deref in CSSParser::storeVariableDeclaration().
2221         https://bugs.webkit.org/show_bug.cgi?id=92333
2222
2223         Reviewed by Andreas Kling.
2224
2225         Fix null pointer deref that occurs if the CSSParserValue couldn't be converted to a CSSValue.
2226
2227         Test fast/css/variables/variable-unparseable-value-crash.html added.
2228
2229         * css/CSSParser.cpp:
2230         (WebCore::CSSParser::storeVariableDeclaration):
2231
2232 2012-07-26  Shinya Kawanaka  <shinyak@chromium.org>
2233
2234         Add UserAgentShadowDOM to FormControlElement just before adding AuthorShadowDOM
2235         https://bugs.webkit.org/show_bug.cgi?id=90866
2236
2237         Reviewed by Hajime Morita.
2238
2239         It ensures that UserAgentShadowDOM is the oldest ShadowDOM.
2240
2241         To show ValidationMessage, WebKit adds a Shadow DOM to some of FormControlElements.
2242         ValidationMessage assumes that the added Shadow DOM is the oldest, however, there was a case
2243         that a page author might add a Shadow DOM before ValidationMessage adds a Shadow DOM.
2244         It will break the assumption that the Shadow DOM added by ValidationMessage is the oldest.
2245         So we have prohibited a page author adding a Shadow DOM to FormControlElement.
2246
2247         To add UserAgentShadowDOM, we use a callback which is called before a page author adding a Shadow DOM.
2248         It adds a UserAgentShadowDOM if it does not exist, so we can ensure that UserAgentShadowDOM is the oldest.
2249
2250         Tests: fast/dom/shadow/input-with-validation-without-shadow.html
2251                fast/dom/shadow/input-with-validation.html
2252                fast/dom/shadow/shadowdom-for-button-complex-shadow.html
2253                fast/dom/shadow/shadowdom-for-button-only-shadow.html
2254                fast/dom/shadow/shadowdom-for-button-without-shadow.html
2255                fast/dom/shadow/shadowdom-for-fieldset-complex-shadow.html
2256                fast/dom/shadow/shadowdom-for-fieldset-only-shadow.html
2257                fast/dom/shadow/shadowdom-for-fieldset-without-shadow.html
2258                fast/dom/shadow/shadowdom-for-form-associated-element-useragent.html
2259                fast/dom/shadow/shadowdom-for-keygen-complex-shadow.html
2260                fast/dom/shadow/shadowdom-for-keygen-only-shadow.html
2261                fast/dom/shadow/shadowdom-for-keygen-without-shadow.html
2262                fast/dom/shadow/shadowdom-for-object-complex-shadow.html
2263                fast/dom/shadow/shadowdom-for-object-only-shadow.html
2264                fast/dom/shadow/shadowdom-for-object-without-shadow.html
2265                fast/dom/shadow/shadowdom-for-output-complex-shadow.html
2266                fast/dom/shadow/shadowdom-for-output-only-shadow.html
2267                fast/dom/shadow/shadowdom-for-output-without-shadow.html
2268                fast/dom/shadow/shadowdom-for-select-complex-shadow.html
2269                fast/dom/shadow/shadowdom-for-select-only-shadow.html
2270                fast/dom/shadow/shadowdom-for-select-without-shadow.html
2271                fast/dom/shadow/shadowdom-for-textarea-complex-shadow.html
2272                fast/dom/shadow/shadowdom-for-textarea-only-shadow.html
2273                fast/dom/shadow/shadowdom-for-textarea-without-shadow.html
2274
2275         * dom/ShadowRoot.cpp:
2276         (WebCore::allowsAuthorShadowRoot):
2277         * html/FormAssociatedElement.cpp:
2278         (WebCore::FormAssociatedElement::ensureUserAgentShadowRoot): Ensures the existence of a UserAgentShadowRoot.
2279         If it does not exist, we create it with empty content.
2280         (WebCore):
2281         * html/FormAssociatedElement.h:
2282         (FormAssociatedElement):
2283         * html/HTMLFormControlElement.cpp:
2284         (WebCore::HTMLFormControlElement::willAddAuthorShadowRoot):
2285         (WebCore):
2286         * html/HTMLFormControlElement.h:
2287         (HTMLFormControlElement):
2288         * html/ValidationMessage.cpp:
2289         (WebCore::adjustBubblePosition): When AuthroShadowRoot does not a shadow element, ValidationMessage
2290         does not have a renderer. So we have to check the existence of renderer.
2291         (WebCore::ValidationMessage::buildBubbleTree):
2292
2293 2012-07-26  Kaustubh Atrawalkar  <kaustubh@motorola.com>
2294
2295         [DRT] LTC:: pageNumberForElementById() could be moved to Internals
2296         https://bugs.webkit.org/show_bug.cgi?id=92091
2297
2298         Reviewed by Adam Barth.
2299
2300         Move the pageNumberForElementById from LayoutTestCotroller to Internals and
2301         remove the old platform specific implementations as it exclusively tests WebCore functionality.
2302
2303         Covered by existing test cases.
2304
2305         * testing/Internals.cpp:
2306         (WebCore::Internals::counterValue):
2307         (WebCore):
2308         (WebCore::Internals::pageNumber):
2309         * testing/Internals.h:
2310         (Internals):
2311         (WebCore::Internals::pageNumber):
2312         * testing/Internals.idl:
2313
2314 2012-07-25  MORITA Hajime  <morrita@google.com>
2315
2316         [Chromium][Win] <progress> animation on RTL direction is reverse
2317         https://bugs.webkit.org/show_bug.cgi?id=92236
2318
2319         Reviewed by Kent Tamura.
2320
2321         This change modfies the way to handle RTL progress bar painting.
2322         Originally it computes the flipped coordinates. This change uses transformation for the flip.
2323         DirectionFlippingScope handles it.
2324
2325         * rendering/RenderThemeChromiumLinux.cpp:
2326         (WebCore::RenderThemeChromiumLinux::paintProgressBar): Applied DirectionFlippingScope
2327         * rendering/RenderThemeChromiumSkia.cpp:
2328         (WebCore::RenderThemeChromiumSkia::determinateProgressValueRectFor):
2329         - Deleted RTL handling in favor of DirectionFlippingScope
2330         (WebCore::RenderThemeChromiumSkia::DirectionFlippingScope::DirectionFlippingScope):
2331         (WebCore):
2332         (WebCore::RenderThemeChromiumSkia::DirectionFlippingScope::~DirectionFlippingScope):
2333         * rendering/RenderThemeChromiumSkia.h:
2334         (RenderThemeChromiumSkia):
2335         (DirectionFlippingScope): Added.
2336         * rendering/RenderThemeChromiumWin.cpp:
2337         (WebCore):
2338         (WebCore::RenderThemeChromiumWin::paintProgressBar): Applied DirectionFlippingScope
2339
2340 2012-07-25  Vineet Chaudhary  <rgf748@motorola.com>
2341
2342         https://bugs.webkit.org/show_bug.cgi?id=92260
2343         Repalce "int" with "long" from WebCore/*.idls
2344
2345         Reviewed by Adam Barth.
2346
2347         As per the WebIDL spec IDL shouldn't have int attributes but long instead.
2348         Repalced attributes types int with long from WebCore/*.idls.
2349
2350         No new tests. TestObj.idl already covers this.
2351         There should be no behavioural changes.
2352
2353         * dom/Touch.idl: Repalce int with long.
2354         * dom/WebKitNamedFlow.idl: Ditto.
2355         * html/canvas/ArrayBuffer.idl: Ditto.
2356         * html/canvas/WebGLActiveInfo.idl: Ditto.
2357         * html/canvas/WebGLShaderPrecisionFormat.idl: Ditto.
2358         * page/WebKitAnimation.idl: Ditto.
2359
2360 2012-07-25  Shinya Kawanaka  <shinyak@chromium.org>
2361
2362         The elements in ShadowDOM of meter or progress should not be modifiable.
2363         https://bugs.webkit.org/show_bug.cgi?id=92199
2364
2365         Reviewed by Hajime Morita.
2366
2367         A user can set -webkit-user-modify: read-write to the elements in Shadow DOM in a meter or progress element.
2368         This might cause a undesired crash like Bug 65738. They should be unmodifiable.
2369
2370         We add default css values to elements in ShadowDOM of meter or progress to prohibit editing them.
2371
2372         Tests: fast/html/meter-user-modify.html
2373                fast/html/progress-user-modify.html
2374
2375         * css/html.css:
2376         Added -webkit-user-modify: read-only !important; for these elements so that they won't be
2377         changed by a user.
2378         (meter::-webkit-meter-bar):
2379         (meter::-webkit-meter-optimum-value):
2380         (meter::-webkit-meter-suboptimum-value):
2381         (meter::-webkit-meter-even-less-good-value):
2382         (progress::-webkit-progress-bar):
2383         (progress::-webkit-progress-value):
2384
2385 2012-07-25  Joshua Netterfield  <jnetterfield@rim.com>
2386
2387         [BlackBerry] GraphicsContext3D::paintToCanvas should not swap 0th and 2nd components of color
2388         https://bugs.webkit.org/show_bug.cgi?id=92314
2389
2390         Reviewed by Rob Buis.
2391
2392         No new tests, because it corrects existing functionality, but it makes BlackBerry
2393         pass canvas-text.html and others.
2394
2395         * platform/graphics/GraphicsContext3D.h:
2396         * platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp:
2397         (WebCore::GraphicsContext3D::paintToCanvas):
2398         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
2399         (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
2400
2401 2012-07-25  Joshua Netterfield  <jnetterfield@rim.com>
2402
2403         [BlackBerry] GraphicsContext3D::reshapeFBOs does not report when bound FBOs should be restored
2404         https://bugs.webkit.org/show_bug.cgi?id=92304
2405
2406         Reviewed by Rob Buis.
2407
2408         No new tests, because it corrects existing functionality, but it makes BlackBerry
2409         pass framebuffer-bindings-unaffected-on-resize.html.
2410
2411         * platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp:
2412         (WebCore::GraphicsContext3D::reshapeFBOs):
2413
2414 2012-07-25  Joshua Netterfield  <jnetterfield@rim.com>
2415
2416         [BlackBerry] readPixels should set alpha to 255 instead of 0 when alpha is disabled
2417         https://bugs.webkit.org/show_bug.cgi?id=92303
2418
2419         Reviewed by Rob Buis.
2420
2421         No new tests, because it corrects existing functionality, but it makes BlackBerry
2422         pass context-attributes-alpha-depth-stencil-antialias.html.
2423
2424         * html/canvas/WebGLRenderingContext.cpp:
2425         (WebCore):
2426         (WebCore::WebGLRenderingContext::readPixels):
2427
2428 2012-07-25  Joshua Netterfield  <jnetterfield@rim.com>
2429
2430         [WebGL] fast/canvas/webgl/framebuffer-object-attachment.html fails on certain platforms
2431         https://bugs.webkit.org/show_bug.cgi?id=92296
2432
2433         Reviewed by Rob Buis.
2434
2435         No new tests, because it introduces no new functionality, only fixes the above mentioned test.
2436
2437         * html/canvas/WebGLFramebuffer.cpp:
2438         (WebCore::WebGLFramebuffer::checkStatus):
2439
2440 2012-07-25  Xingnan Wang  <xingnan.wang@intel.com>
2441
2442         IndexedDB: IDBTransaction::abort() should throw DOMException
2443         https://bugs.webkit.org/show_bug.cgi?id=92069
2444
2445         Reviewed by Kentaro Hara.
2446
2447         Keep aligned with the W3C spec.
2448         http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#widl-IDBTransaction-abort-void
2449
2450         Test: storage/indexeddb/transaction-abort.html.
2451
2452         * Modules/indexeddb/IDBTransaction.cpp:
2453         (WebCore::IDBTransaction::abort):
2454         (WebCore):
2455         * Modules/indexeddb/IDBTransaction.h:
2456         (IDBTransaction):
2457         * Modules/indexeddb/IDBTransaction.idl:
2458
2459 2012-07-25  Tony Chang  <tony@chromium.org>
2460
2461         flexitems can overflow the flexbox due to rounding
2462         https://bugs.webkit.org/show_bug.cgi?id=92163
2463
2464         Reviewed by Levi Weintraub.
2465
2466         Don't round flex item sizes and use LayoutPoint for the location of flex items.
2467
2468         Test: css3/flexbox/flex-rounding.html
2469
2470         * rendering/RenderFlexibleBox.cpp:
2471         (WebCore::RenderFlexibleBox::resolveFlexibleLengths):
2472         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
2473         (WebCore::RenderFlexibleBox::layoutColumnReverse):
2474
2475 2012-07-25  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>
2476
2477         [BlackBerry] Integrate certmgr with CredentialBackingStore
2478         https://bugs.webkit.org/show_bug.cgi?id=92183
2479
2480         Reviewed by George Staikos.
2481
2482         Integrated BlackBerry::Platform::CertMgrWrapper with
2483         CredentialBackingStore, when certmgr is ready we save
2484         the password in certmgr and retrieve it from certmgr.
2485
2486         RIM PR: 171991
2487         Internally reviewed by Joe Mason <jmason@rim.com>.
2488
2489         No new tests since there's no functional change.
2490
2491         * platform/network/blackberry/CredentialBackingStore.cpp:
2492         (WebCore::hashCredentialInfo):
2493         (WebCore):
2494         (WebCore::CredentialBackingStore::CredentialBackingStore):
2495         (WebCore::CredentialBackingStore::open):
2496         (WebCore::CredentialBackingStore::addLogin):
2497         (WebCore::CredentialBackingStore::updateLogin):
2498         (WebCore::CredentialBackingStore::getLogin):
2499         * platform/network/blackberry/CredentialBackingStore.h:
2500         (CredentialBackingStore):
2501
2502 2012-07-25  Kent Tamura  <tkent@chromium.org>
2503
2504         REGRESSION(r121420): Performance regression of form state saving for pages with multiple forms
2505         https://bugs.webkit.org/show_bug.cgi?id=91804
2506
2507         Reviewed by Hajime Morita.
2508
2509         The complexity of FormKeyGenerator::formKey() was O(N) where N is the
2510         number form elements with an identical action URL, and formKey() is
2511         called for every form. So, it's O(N^2). A page in www.reddit.com
2512         contains hundreds of form elements with action="#". So FormController::
2513         formElementsState() took a few seconds on a slow machine.
2514
2515         In order to avoid O(N^2) operation, storing a map from form signatures
2516         to next index numbers, instead of storing existing formKey strings.
2517
2518         No new tests. Just a performance improvement.
2519
2520         Note: This is a re-landing of r123191. We rolled it out because of
2521         suspicion of a performance regression. However it was innocent.
2522
2523         * html/FormController.cpp:
2524         (FormKeyGenerator): Remove m_existingKeys. Add a map from a form
2525         signature string to the next index number.
2526         (WebCore::formSignature): Returns a signature string for a form, without
2527         an index number. This is like "actionURL [name1 name2 ]"
2528         (WebCore::FormKeyGenerator::formKey):
2529         Creates a formKey string by concatenating a formSignature and #n. N is
2530         obtained from m_formSignatureToNextIndexMap in O(1).
2531         (WebCore::FormKeyGenerator::willDeleteForm):
2532         Remove the code for m_existingKeys.
2533
2534 2012-07-25  Benjamin Poulain  <bpoulain@apple.com>
2535
2536         Initialize QualifiedName's strings from the read only data segment
2537         https://bugs.webkit.org/show_bug.cgi?id=92226
2538
2539         Reviewed by Anders Carlsson.
2540
2541         Modify the initialization of static QualifiedName to initialize the AtomicString
2542         with the data from the read only memory.
2543
2544         Overall, HTMLNames::init() gets 10% faster.
2545
2546         * dom/QualifiedName.cpp:
2547         (WebCore::QualifiedName::QualifiedName):
2548         * dom/QualifiedName.h:
2549         (QualifiedName):
2550         Remove the useless constructor taking a char* and get rid of the init() function.
2551         The AtomicString representing the name should be constructed by the caller of QualifiedName.
2552
2553         Because the init() code is relatively large and is only executed once, it is important to
2554         keep the AtomicString construction separate. The function createQualifiedName() was added
2555         to improve the cache use. The short version let us reduce the code one more instruction per
2556         call.
2557
2558         * dom/make_names.pl:
2559         (printQualifiedNameMaker):
2560         (printShortQualifiedNameMaker):
2561         (printNamesCppFile):
2562         (printDefinitions):
2563
2564 2012-07-25  Yoshifumi Inoue  <yosin@chromium.org>
2565
2566         [Forms] Move HTMLInputElement::updateInnerTextValue to InputType class
2567         https://bugs.webkit.org/show_bug.cgi?id=92230
2568
2569         Reviewed by Kent Tamura.
2570
2571         This patch moves implementaion of HTMLInputElement::updateInnerTextValue()
2572         into input type classes, removes updateInnerTextValue() from HTMLInputElement,
2573         and updates call site of updateInnerTextValue().
2574
2575         No new tests. This patch doesn't change behavior.
2576
2577         * html/DateInputType.cpp:
2578         (WebCore::DateInputType::handleBlurEvent): Updated call site of updateInnerTextValue().
2579         * html/HTMLInputElement.cpp:
2580         (WebCore::HTMLInputElement::updateType): Updated call site of updateInnerTextValue().
2581         (WebCore::HTMLInputElement::parseAttribute): Updated call site of updateInnerTextValue().
2582         (WebCore::HTMLInputElement::copyNonAttributePropertiesFromElement): Updated call site of updateInnerTextValue().
2583         (WebCore::HTMLInputElement::setSuggestedValue): Updated call site of updateInnerTextValue().
2584         * html/HTMLInputElement.h:
2585         (HTMLInputElement): Removed updateInnerTextValue().
2586         * html/InputType.cpp:
2587         (WebCore::InputType::updateInnerTextValue): Added default implementaion.
2588         * html/InputType.h:
2589         (InputType): Added declaration of updateInnerTextValue().
2590         * html/NumberInputType.cpp:
2591         (WebCore::NumberInputType::handleBlurEvent): Updated call site of updateInnerTextValue().
2592         * html/TextFieldInputType.cpp:
2593         (WebCore::TextFieldInputType::setValue): Updated call site of updateInnerTextValue().
2594         (WebCore::TextFieldInputType::updateInnerTextValue): Moved implementaion from HTMLInputElement.
2595         * html/TextFieldInputType.h:
2596         (TextFieldInputType): Added declaration of updateInnerTextValue().
2597
2598 2012-07-25  Dana Jansens  <danakj@chromium.org>
2599
2600         [chromium] Move ephemeral data for a single frame in LayerRendererChromium into a structure with a scoped lifetime equal to the frame
2601         https://bugs.webkit.org/show_bug.cgi?id=92294
2602
2603         Reviewed by Adrienne Walker.
2604
2605         The LayerRendererChromium class has a number of member variables that are used
2606         while drawing a single frame. Because they are member variables, their lifetimes
2607         are not clear, and some are even updated between frames, which is not needed.
2608
2609         This change creates a LRC::DrawingFrame structure that holds the data used
2610         while drawing the current frame, and an instance of this structure is held
2611         and passed around to functions in LayerRendererChromium, moving all of the
2612         data out from being member variables on the class to being function
2613         arguments on the relevant methods.
2614
2615         The projection and window matrices are a part of this frame data, and are not
2616         used externally, so they are removed from the CCRenderer interface and included
2617         within the DrawingFrame structure.
2618
2619         Covered by existing tests, no change in behaviour intended.
2620
2621         * platform/graphics/chromium/LayerRendererChromium.cpp:
2622         (WebCore::LayerRendererChromium::LayerRendererChromium):
2623         (WebCore::LayerRendererChromium::viewportChanged):
2624         (WebCore::LayerRendererChromium::clearFramebuffer):
2625         (WebCore::LayerRendererChromium::drawFrame):
2626         (WebCore::LayerRendererChromium::drawRenderPass):
2627         (WebCore::LayerRendererChromium::drawQuad):
2628         (WebCore::LayerRendererChromium::drawCheckerboardQuad):
2629         (WebCore::LayerRendererChromium::drawDebugBorderQuad):
2630         (WebCore::LayerRendererChromium::drawBackgroundFilters):
2631         (WebCore::LayerRendererChromium::drawRenderPassQuad):
2632         (WebCore::LayerRendererChromium::drawSolidColorQuad):
2633         (WebCore::LayerRendererChromium::drawTileQuad):
2634         (WebCore::LayerRendererChromium::drawYUVVideoQuad):
2635         (WebCore::LayerRendererChromium::drawStreamVideoQuad):
2636         (WebCore::LayerRendererChromium::drawTextureQuad):
2637         (WebCore::LayerRendererChromium::drawIOSurfaceQuad):
2638         (WebCore::LayerRendererChromium::finishDrawingFrame):
2639         (WebCore::LayerRendererChromium::drawTexturedQuad):
2640         (WebCore::LayerRendererChromium::copyTextureToFramebuffer):
2641         (WebCore::LayerRendererChromium::isCurrentRenderPass):
2642         (WebCore::LayerRendererChromium::useRenderPass):
2643         (WebCore::LayerRendererChromium::useScopedTexture):
2644         (WebCore::LayerRendererChromium::bindFramebufferToTexture):
2645         (WebCore::LayerRendererChromium::setScissorToRect):
2646         (WebCore::LayerRendererChromium::setDrawFramebufferRect):
2647         * platform/graphics/chromium/LayerRendererChromium.h:
2648         (DrawingFrame):
2649         (WebCore::LayerRendererChromium::DrawingFrame::DrawingFrame):
2650         (LayerRendererChromium):
2651         * platform/graphics/chromium/cc/CCRenderer.h:
2652         (CCRenderer):
2653
2654 2012-07-19  Adrienne Walker  <enne@google.com>
2655
2656         [chromium] Make all compositor screen space transforms operate on content rects
2657         https://bugs.webkit.org/show_bug.cgi?id=91807
2658
2659         Reviewed by Kenneth Russell.
2660
2661         Previously, surface screen space transforms operated on surface
2662         content space but layer screen space transforms operated on layer
2663         space. For the purpose of consistency, unify these two so that they
2664         both operate on content space.
2665
2666         No tests, because no change in behavior expected. Just a refactoring.
2667
2668         * platform/graphics/chromium/LayerChromium.h:
2669         (LayerChromium):
2670         * platform/graphics/chromium/cc/CCDebugRectHistory.cpp:
2671         (WebCore::CCDebugRectHistory::savePaintRects):
2672         (WebCore::CCDebugRectHistory::savePropertyChangedRects):
2673         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
2674         (WebCore::calculateDrawTransformsInternal):
2675         (WebCore::CCLayerTreeHostCommon::findLayerThatIsHitByPoint):
2676         * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
2677         (WebCore::::markOccludedBehindLayer):
2678         (WebCore::::occluded):
2679         (WebCore::::unoccludedContentRect):
2680
2681 2012-07-25  Dan Bernstein  <mitz@apple.com>
2682
2683         Hit testing in one column or in the gap between cloumns along the block axis can return a result from the wrong column
2684         https://bugs.webkit.org/show_bug.cgi?id=92311
2685
2686         Reviewed by Anders Carlsson.
2687
2688         Tests: fast/multicol/hit-test-end-of-column.html
2689                fast/multicol/hit-test-gap-block-axis.html
2690
2691         * rendering/RenderBlock.cpp:
2692         (WebCore::RenderBlock::positionForPointWithInlineChildren): To prevent hits after the last
2693         line on a given column from returning the next line in the next column, added a check if
2694         the hit occurred within the pagination strut of a line. Covered by the first test.
2695         (WebCore::RenderBlock::adjustPointToColumnContents): Added clamp-to-column logic for the
2696         block-axis case. This prevents hits near the bottom of the top half of the gap from bleeding
2697         into the top of the next column. Covered by the second test.
2698
2699 2012-07-25  David Grogan  <dgrogan@chromium.org>
2700
2701         IndexedDB: Make db.version return an integer if appropriate
2702         https://bugs.webkit.org/show_bug.cgi?id=92195
2703
2704         Reviewed by Tony Chang.
2705
2706         Make use of the existing IDBAny mechanism to return an integer if
2707         integer versions have been used.
2708
2709         No new tests - no change in behavior expected.
2710
2711         * Modules/indexeddb/IDBDatabase.cpp:
2712         (WebCore::IDBDatabase::version):
2713         (WebCore):
2714         * Modules/indexeddb/IDBDatabase.h:
2715         (IDBDatabase):
2716         * Modules/indexeddb/IDBDatabase.idl:
2717
2718 2012-07-25  Michael Saboff  <msaboff@apple.com>
2719
2720         Convert HTML parser to handle 8-bit resources without converting to UChar*
2721         https://bugs.webkit.org/show_bug.cgi?id=90321
2722
2723         Reviewed by Geoffrey Garen.
2724
2725         No new tests, no new functionality therefore covered by existing tests.
2726
2727         Changed the parsing of HTML to handle 8-bit strings without converting the 
2728         whole string to 16-bits.  Primary change was to use the appropriate 
2729         character pointer type (LChar* or UChar*) depending on the source string.
2730         This access is abstracted in SegmentedSubstring by getCurrentChar{8,16} and
2731         incrementAndGetCurrentChar{8,16} methods.  In SegmentedString, the advance()
2732         and advanceAndUpdateLineNumber() methods have been refactored into a
2733         state machine managed pair of function pointers.  The possible functions
2734         have not only the 8 and 16 bitness factored out, they also have the 
2735         "exclude line numbers" logic factored out for advanceAndUpdateLineNumber().
2736         This provides a net speed-up even with the 8/16 bit testing.
2737         Other changes involve using String methods to access and compare with the
2738         source data.
2739
2740         * html/FTPDirectoryDocument.cpp:
2741         (WebCore::FTPDirectoryDocumentParser::append): Changed to use currentChar()
2742         instead of SegmentedString '*' operator.
2743         * html/parser/HTMLEntityParser.cpp: Changed to use currentChar() instead of
2744         SegmentedString '*' operator.
2745         * html/parser/HTMLParserIdioms.cpp:
2746         (WebCore::stripLeadingAndTrailingHTMLSpaces): Added 8-bit fast path.
2747         * html/parser/HTMLSourceTracker.cpp:
2748         (WebCore::HTMLSourceTracker::sourceForToken): Changed to use currentChar() instead of
2749         SegmentedString '*' operator.
2750         * loader/cache/CachedScript.cpp:
2751         (WebCore::CachedScript::script): Updated to use new String::dataSize() method.
2752         * platform/text/SegmentedString.cpp:
2753         (WebCore::SegmentedString::SegmentedString):
2754         (WebCore::SegmentedString::operator=):
2755         (WebCore::SegmentedString::clear):
2756         (WebCore::SegmentedString::append):
2757         (WebCore::SegmentedString::prepend):
2758         (WebCore::SegmentedString::advanceSubstring):
2759         (WebCore::SegmentedString::advance): Changed to be a wrapper that invokes current 
2760         advance function.
2761         (WebCore::SegmentedString::advance8): Fast path advance function for 8 bit data.
2762         (WebCore::SegmentedString::advance16): Fast path advance function for 16 bit data.
2763         (WebCore::SegmentedString::advanceAndUpdateLineNumber8IncludeLineNumbers): Fast
2764         path advanceAndUpdateLineNumber for 8 bit data when we need to update the line number.
2765         (WebCore::SegmentedString::advanceAndUpdateLineNumber16IncludeLineNumbers): Fast
2766         path advanceAndUpdateLineNumber for 16 bit data when we need to update the line number.
2767         (WebCore::SegmentedString::advanceSlowCase): Slow case advance function for both
2768         8 and 16 bit advance.
2769         (WebCore::SegmentedString::advanceAndUpdateLineNumberSlowCase): Slow case
2770         advanceAndUpdateLineNumber function for both 8 and 16 bit data.
2771         (WebCore::SegmentedString::advanceEmpty): Advance function when input has been exhausted.
2772         * platform/text/SegmentedString.h:
2773         (WebCore::SegmentedSubstring::SegmentedSubstring):
2774         (WebCore::SegmentedSubstring::clear):
2775         (SegmentedSubstring):
2776         (WebCore::SegmentedSubstring::is8Bit): New getter.
2777         (WebCore::SegmentedSubstring::appendTo):
2778         (WebCore::SegmentedSubstring::getCurrentChar8): New getter for the 8 bit case.
2779         (WebCore::SegmentedSubstring::getCurrentChar16): New getter for the 16 bit case.
2780         (WebCore::SegmentedSubstring::incrementAndGetCurrentChar8): New wrapper functions
2781         that pre-increments the 8 bit pointer and returns the next character.
2782         (WebCore::SegmentedSubstring::incrementAndGetCurrentChar16): New wrapper functions
2783         that pre-increments the 16 bit pointer and returns the next character.
2784         (WebCore::SegmentedSubstring::currentSubString):
2785         (WebCore::SegmentedSubstring::getCurrentChar):
2786         (WebCore::SegmentedSubstring::incrementAndGetCurrentChar):
2787         (WebCore::SegmentedString::SegmentedString):
2788         (WebCore::SegmentedString::push):
2789         (WebCore::SegmentedString::isEmpty):
2790         (WebCore::SegmentedString::lookAhead):
2791         (WebCore::SegmentedString::lookAheadIgnoringCase):
2792         (WebCore::SegmentedString::advance):
2793         (WebCore::SegmentedString::advanceAndUpdateLineNumber):
2794         (WebCore::SegmentedString::advanceAndASSERT):
2795         (WebCore::SegmentedString::advanceAndASSERTIgnoringCase):
2796         (WebCore::SegmentedString::advancePastNonNewline):
2797         (WebCore::SegmentedString::advancePastNewlineAndUpdateLineNumber):
2798         (WebCore::SegmentedString::currentChar):
2799         (WebCore::SegmentedString::setSlowCase): Set advance function pointers to slow case
2800         functions.
2801         (WebCore::SegmentedString::decrementAndCheckLength): Decrement substring length and
2802         change to slow case functions when only one character left.
2803         (WebCore::SegmentedString::setAdvanceFunctionPointers): Select appropriate advance
2804         functions based on current substring.
2805         (WebCore::SegmentedString::lookAheadInline): Changed to use String::startsWith().
2806         (WebCore::SegmentedString::lookAheadSlowCase):
2807         * xml/parser/CharacterReferenceParserInlineMethods.h:
2808         (WebCore::consumeCharacterReference): Changed to use currentChar() instead of
2809         SegmentedString '*' operator.
2810         * xml/parser/MarkupTokenizerBase.h:
2811         (WebCore::MarkupTokenizerBase::InputStreamPreprocessor::nextInputCharacter):
2812         (WebCore::MarkupTokenizerBase::InputStreamPreprocessor::peek): Changed to use
2813         currentChar() instead of SegmentedString '*' operator.
2814         (WebCore::MarkupTokenizerBase::InputStreamPreprocessor::advance):
2815
2816 2012-07-25  Sheriff Bot  <webkit.review.bot@gmail.com>
2817
2818         Unreviewed, rolling out r123625 and r123672.
2819         http://trac.webkit.org/changeset/123625
2820         http://trac.webkit.org/changeset/123672
2821         https://bugs.webkit.org/show_bug.cgi?id=92315
2822
2823         Broke Windows and gcc builds (Requested by rniwa on #webkit).
2824
2825         * platform/AutodrainedPool.h:
2826         (AutodrainedPool):
2827         * platform/ContentType.h:
2828         (ContentType):
2829         * platform/ContextMenu.h:
2830         (ContextMenu):
2831         * platform/ContextMenuItem.h:
2832         (ContextMenuItem):
2833         * platform/Cursor.h:
2834         (WebCore::SharedCursor::SharedCursor):
2835         (Cursor):
2836         * platform/KURL.h:
2837         (WebCore::KURL::KURL):
2838         (KURL):
2839         * platform/KURLGooglePrivate.h:
2840         (KURLGooglePrivate):
2841         * platform/PODRedBlackTree.h:
2842         (WebCore::PODRedBlackTree::PODRedBlackTree):
2843         * platform/Pasteboard.h:
2844         (Pasteboard):
2845         * platform/PlatformEvent.h:
2846         (WebCore::PlatformEvent::PlatformEvent):
2847         * platform/PlatformKeyboardEvent.h:
2848         (PlatformKeyboardEvent):
2849         * platform/PlatformMouseEvent.h:
2850         (PlatformMouseEvent):
2851         * platform/PlatformPasteboard.h:
2852         (PlatformPasteboard):
2853         * platform/PlatformTouchEvent.h:
2854         (PlatformTouchEvent):
2855         * platform/PlatformWheelEvent.h:
2856         (PlatformWheelEvent):
2857         * platform/RunLoop.h:
2858         (TimerBase):
2859         * platform/ScrollAnimator.h:
2860         (ScrollAnimator):
2861         * platform/ScrollAnimatorNone.h:
2862         (ScrollAnimatorNone):
2863         * platform/SharedBuffer.h:
2864         (SharedBuffer):
2865         * platform/WheelFlingPlatformGestureCurve.h:
2866         (WheelFlingPlatformGestureCurve):
2867         * platform/Widget.h:
2868         (Widget):
2869         * platform/network/cf/ResourceRequestCFNet.cpp:
2870         (WebCore::ResourceRequest::doUpdateResourceRequest):
2871
2872 2012-07-25  Ryosuke Niwa  <rniwa@webkit.org>
2873
2874         Windows build fix attempt after r123625.
2875
2876         * platform/network/cf/ResourceRequestCFNet.cpp:
2877         (WebCore::ResourceRequest::doUpdateResourceRequest):
2878
2879 2012-07-25  Kwang Yul Seo  <skyul@company100.net>
2880
2881         Read tag names and attributes from the saved tokens in HTMLTreeBuilder::resetInsertionModeAppropriately.
2882         https://bugs.webkit.org/show_bug.cgi?id=92240
2883
2884         Reviewed by Adam Barth.
2885
2886         This is a follow-up patch for r123577. Added ItemType enum to HTMLStackItem to handle
2887         the context element case.
2888
2889         No new tests, covered by existing tests.
2890
2891         * html/parser/HTMLStackItem.h:
2892         (WebCore::HTMLStackItem::create):
2893         (WebCore::HTMLStackItem::HTMLStackItem):
2894         * html/parser/HTMLTreeBuilder.cpp:
2895         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
2896         (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
2897
2898 2012-07-25  Nico Weber  <thakis@chromium.org>
2899
2900         [chromium/mac] Remove mac_bundle_resources section from WebCore.gyp
2901         https://bugs.webkit.org/show_bug.cgi?id=92207
2902
2903         Reviewed by Tony Chang.
2904
2905         It's no longer needed after http://crrev.com/148290 and
2906         http://crrev.com/148187.
2907
2908         * WebCore.gyp/WebCore.gyp:
2909
2910 2012-07-25  Dana Jansens  <danakj@chromium.org>
2911
2912         [chromium] Move WebFilterOperations from RenderPassDrawQuad to RenderPass
2913         https://bugs.webkit.org/show_bug.cgi?id=91885
2914
2915         Reviewed by Adrienne Walker.
2916
2917         We move the filter operations to CCRenderPass to avoid having
2918         variable-length data in a WebCompositorQuad in order to serialize,
2919         and also to avoid requiring a virtual destructor for the quad
2920         classes.
2921
2922         The drawFrame method now takes a CCRenderPassIdHashMap in order
2923         to connect RenderPass quads to their source RenderPass.
2924
2925         Covered by existing tests.
2926
2927         * platform/graphics/chromium/LayerRendererChromium.cpp:
2928         (WebCore::LayerRendererChromium::decideRenderPassAllocationsForFrame):
2929         (WebCore::LayerRendererChromium::drawFrame):
2930         (WebCore::LayerRendererChromium::beginDrawingFrame):
2931         (WebCore::LayerRendererChromium::drawBackgroundFilters):
2932         (WebCore::LayerRendererChromium::drawRenderPassQuad):
2933         * platform/graphics/chromium/LayerRendererChromium.h:
2934         (LayerRendererChromium):
2935         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2936         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
2937         (WebCore::CCLayerTreeHostImpl::drawLayers):
2938         * platform/graphics/chromium/cc/CCRenderPass.h:
2939         (WebCore::CCRenderPass::filters):
2940         (WebCore::CCRenderPass::setFilters):
2941         (CCRenderPass):
2942         (WebCore::CCRenderPass::backgroundFilters):
2943         (WebCore::CCRenderPass::setBackgroundFilters):
2944         * platform/graphics/chromium/cc/CCRenderPassDrawQuad.cpp:
2945         (WebCore::CCRenderPassDrawQuad::create):
2946         (WebCore::CCRenderPassDrawQuad::CCRenderPassDrawQuad):
2947         * platform/graphics/chromium/cc/CCRenderPassDrawQuad.h:
2948         (CCRenderPassDrawQuad):
2949         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
2950         (WebCore::CCRenderSurface::appendQuads):
2951         * platform/graphics/chromium/cc/CCRenderer.h:
2952         (CCRenderer):
2953
2954 2012-07-25  Mike Reed  <reed@google.com>
2955
2956         fix test in beginLayerClippedToImage to check for immutability if we're going to do a shallow-copy
2957         https://bugs.webkit.org/show_bug.cgi?id=92276
2958
2959         Reviewed by Stephen White.
2960
2961         PlatformContextSkia::beginLayerClippedToImage
2962
2963         This function wants to apply the provided ImageBuffer as a clip. Skia does not support this natively yet,
2964         so the code makes a "copy" of that imageBuffer, to be applied later. The old code, wanting to avoid a
2965         deep copy if possible, checked for the presence of a SkPixelRef. If it found one, it made a shallow copy.
2966         This is flawed, since the contents of a pixelref are not guaranteed to be immutable. The new code checks
2967         against this attribute: if the bitmap is "immutable" then we can make a shallow-copy, else we make a
2968         deep copy.
2969
2970         No new tests. Existing svg layouttests work w/ or w/out this change, but at the next Skia deps roll, we see
2971         failures w/o this change. The change is more "correct", though the problem case does not exhibit itself until
2972         Skia rev. 4722 or later lands.
2973
2974         * platform/graphics/skia/PlatformContextSkia.cpp:
2975         (WebCore::PlatformContextSkia::beginLayerClippedToImage):
2976
2977 2012-07-25  Li Yin  <li.yin@intel.com>
2978
2979         It is invalid when both numberOfInputChannels and numberOfOutputChannels to be zero in JavaScriptAudioNode.
2980         https://bugs.webkit.org/show_bug.cgi?id=91364
2981
2982         Reviewed by Kenneth Russell.
2983
2984         Spec: http://www.w3.org/TR/webaudio/#JavaScriptAudioNode-section
2985         It is invalid for both numberOfInputChannels and numberOfOutputChannels to be zero.
2986
2987         Test: webaudio/javascriptaudionode.html
2988
2989         * Modules/webaudio/JavaScriptAudioNode.cpp:
2990         (WebCore::JavaScriptAudioNode::create):
2991
2992 2012-07-24  Shawn Singh  <shawnsingh@chromium.org>
2993
2994         [chromium] Refactor CCLayerTreeHostCommon: move root layer special case initialization into internal code.
2995         https://bugs.webkit.org/show_bug.cgi?id=88953
2996
2997         Reviewed by Adrienne Walker.
2998
2999         This is part 1 of trying to reduce the root layer special
3000         case. This tries to reduce the special-ness of the root layer from
3001         the perspective of outside code.
3002
3003         After this patch, code that uses calcDrawTransforms() no longer
3004         needs to initialize the root layer's surface, and no longer needs
3005         to manually append the root layer to the renderSurfaceLayerList.
3006
3007         Unit tests were also updated (much cleaner!) to account for this change.
3008
3009         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
3010         (WebCore::CCLayerTreeHost::updateLayers):
3011         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
3012         (WebCore):
3013         (WebCore::setupRootLayerAndSurfaceForRecursion):
3014         (WebCore::CCLayerTreeHostCommon::calculateDrawTransforms):
3015         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.h:
3016         (CCLayerTreeHostCommon):
3017         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
3018         (WebCore::CCLayerTreeHostImpl::calculateRenderSurfaceLayerList):
3019
3020 2012-07-25  Taiju Tsuiki  <tzik@chromium.org>
3021
3022         FileSystem should provide a way to delete filesystem.
3023         https://bugs.webkit.org/show_bug.cgi?id=91861
3024
3025         Reviewed by Adam Barth.
3026
3027         We will add a test when we wire-up the feature to Inspector.
3028
3029         * Modules/filesystem/LocalFileSystem.cpp: Add deleteFileSystem
3030         (WebCore::deleteFileSystem):
3031         (WebCore):
3032         (WebCore::LocalFileSystem::deleteFileSystem):
3033         * Modules/filesystem/LocalFileSystem.h:
3034         (LocalFileSystem):
3035         * platform/AsyncFileSystem.cpp: Add deleteFileSystem
3036         (WebCore):
3037         (WebCore::AsyncFileSystem::deleteFileSystem):
3038         * platform/AsyncFileSystem.h:
3039         (AsyncFileSystem):
3040         * platform/blackberry/AsyncFileSystemBlackBerry.cpp: Add deleteFileSystem
3041         (WebCore::AsyncFileSystem::deleteFileSystem):
3042         (WebCore):
3043         * platform/gtk/AsyncFileSystemGtk.cpp: Add deleteFileSystem
3044         (WebCore::AsyncFileSystem::deleteFileSystem):
3045         (WebCore):
3046
3047 2012-07-25  Andrey Adaikin  <aandrey@chromium.org>
3048
3049         Web Inspector: Add more jsdocs to InjectedScriptSource.js
3050         https://bugs.webkit.org/show_bug.cgi?id=92255
3051
3052         Reviewed by Pavel Feldman.
3053
3054         * inspector/InjectedScriptSource.js:
3055
3056 2012-07-24  Dana Jansens  <danakj@chromium.org>
3057
3058         [chromium] Turn the debug HUD into a layer so that it can be drawn as a WebCompositorQuad
3059         https://bugs.webkit.org/show_bug.cgi?id=92182
3060
3061         Reviewed by Adrienne Walker.
3062
3063         By changing the HUD into a quad, we are able to create a HUD and pass
3064         it to the host compositor, allowing the HUD to be used for renderers
3065         under Ubercompositor.
3066
3067         This also removes the special drawing code for the HUD from
3068         LayerRendererChromium, allowing us to move finishDrawingFrame
3069         into LayerRendererChromium as a private method and remove it
3070         from the CCRenderer interface.
3071
3072         Finally, we can remove the CCFontAtlas transport code from CCProxy
3073         and its implementations as the atlas can be synced to impl thread
3074         through the usual layer commit mechanism.
3075
3076         The debug HUD is not covered by tests.
3077
3078         * WebCore.gypi:
3079         * platform/graphics/chromium/HeadsUpDisplayLayerChromium.cpp: Added.
3080         (WebCore):
3081         (WebCore::HeadsUpDisplayLayerChromium::create):
3082         (WebCore::HeadsUpDisplayLayerChromium::HeadsUpDisplayLayerChromium):
3083         (WebCore::HeadsUpDisplayLayerChromium::~HeadsUpDisplayLayerChromium):
3084         (WebCore::HeadsUpDisplayLayerChromium::createCCLayerImpl):
3085         * platform/graphics/chromium/HeadsUpDisplayLayerChromium.h: Added.
3086         (WebCore):
3087         (HeadsUpDisplayLayerChromium):
3088         * platform/graphics/chromium/LayerRendererChromium.cpp:
3089         (WebCore::LayerRendererChromium::drawFrame):
3090         (WebCore::LayerRendererChromium::cleanupSharedObjects):
3091         * platform/graphics/chromium/LayerRendererChromium.h:
3092         (LayerRendererChromium):
3093         * platform/graphics/chromium/cc/CCDebugRectHistory.cpp:
3094         (WebCore::CCDebugRectHistory::savePropertyChangedRects):
3095         * platform/graphics/chromium/cc/CCDebugRectHistory.h:
3096         * platform/graphics/chromium/cc/CCHeadsUpDisplayLayerImpl.cpp: Renamed from Source/WebCore/platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp.
3097         (WebCore):
3098         (WebCore::CCHeadsUpDisplayLayerImpl::CCHeadsUpDisplayLayerImpl):
3099         (WebCore::CCHeadsUpDisplayLayerImpl::~CCHeadsUpDisplayLayerImpl):
3100         (WebCore::CCHeadsUpDisplayLayerImpl::willDraw):
3101         (WebCore::CCHeadsUpDisplayLayerImpl::appendQuads):
3102         (WebCore::CCHeadsUpDisplayLayerImpl::didDraw):
3103         (WebCore::CCHeadsUpDisplayLayerImpl::didLoseContext):
3104         (WebCore::CCHeadsUpDisplayLayerImpl::drawHudContents):
3105         (WebCore::CCHeadsUpDisplayLayerImpl::drawFPSCounter):
3106         (WebCore::CCHeadsUpDisplayLayerImpl::drawFPSCounterText):
3107         (WebCore::CCHeadsUpDisplayLayerImpl::drawDebugRects):
3108         * platform/graphics/chromium/cc/CCHeadsUpDisplayLayerImpl.h: Renamed from Source/WebCore/platform/graphics/chromium/cc/CCHeadsUpDisplay.h.
3109         (WebCore):
3110         (CCHeadsUpDisplayLayerImpl):
3111         (WebCore::CCHeadsUpDisplayLayerImpl::create):
3112         * platform/graphics/chromium/cc/CCLayerImpl.h:
3113         (WebCore::CCLayerImpl::layerIsAlwaysDamaged):
3114         This flag is used to mark the HUD as always damaged, so that it is
3115         continually drawn on the impl thread. It is also used as a hint by
3116         the CCDebugRectHistory class to not include the layer in the display
3117         of damage, since always damaged is not interesting damage.
3118         (CCLayerImpl):
3119         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
3120         (WebCore::CCLayerTreeHost::create):
3121         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
3122         (WebCore::CCLayerTreeHost::initialize):
3123         (WebCore::CCLayerTreeHost::willCommit):
3124         (WebCore::CCLayerTreeHost::didCommit):
3125         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
3126         (CCLayerTreeSettings):
3127         (WebCore::CCLayerTreeSettings::showDebugInfo):
3128         (WebCore::CCLayerTreeSettings::showDebugRects):
3129         (CCLayerTreeHost):
3130         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
3131         (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
3132         (WebCore::CCLayerTreeHostImpl::drawLayers):
3133         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
3134         (WebCore):
3135         (CCLayerTreeHostImpl):
3136         * platform/graphics/chromium/cc/CCProxy.h:
3137         (CCProxy):
3138         * platform/graphics/chromium/cc/CCRenderer.h:
3139         (CCRenderer):
3140         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
3141         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
3142         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
3143         * platform/graphics/chromium/cc/CCThreadProxy.h:
3144         (CCThreadProxy):
3145
3146 2012-07-25  'Pavel Feldman'  <pfeldman@chromium.org>
3147
3148         Web Inspector: follow up to r123612, fixing CSS value suggest.
3149
3150         Not reviewed, minor JS fix.
3151
3152         * inspector/front-end/CSSCompletions.js:
3153         (WebInspector.CSSCompletions):
3154         * inspector/front-end/StylesSidebarPane.js:
3155         (WebInspector.StylePropertyTreeElement.prototype):
3156
3157 2012-07-25  Michael Saboff  <msaboff@apple.com>
3158
3159         Unreviewed build fix after r123624.
3160
3161         * inspector/InspectorPageAgent.cpp:
3162         (WebCore::InspectorPageAgent::clearGeolocationOverride):
3163         Changed ASSERT_UNUSED() to UNUSED_PARAM().
3164
3165 2012-07-25  Pavel Feldman  <pfeldman@chromium.org>
3166
3167         Web inspector auto-completes "optimizequality" but then complains
3168         https://bugs.webkit.org/show_bug.cgi?id=92262
3169
3170         Reviewed by Timothy Hatcher.
3171
3172         Fixed optimizeSpeed, optimizeLegibility, geometricPrecision.
3173
3174         * inspector/front-end/CSSKeywordCompletions.js:
3175
3176 2012-07-25  Beth Dakin  <bdakin@apple.com>
3177
3178         https://bugs.webkit.org/show_bug.cgi?id=89114
3179         REGRESSION (r112919): Setting scrollTop after setting display from none to block 
3180         fails
3181         -and corresponding-
3182         <rdar://problem/11656050>
3183
3184         Reviewed by Simon Fraser.
3185
3186         ScrollAnimatorMac::immediateScrollTo() and ScrollAnimatorMac::immediateScrollBy() 
3187         both have an optimization in place so that they do not call 
3188         notifyPositionChanged() if the new scroll offset matches the ScrollAnimator's 
3189         cached m_currentPosX and m_currentPosY. So revision 112919 caused troubled with 
3190         this optimization because it allowed RenderLayers to restore a scrollOffset from 
3191         the Element if there is one cached there. This caused the RenderLayer to have a 
3192         scrollOffset that is improperly out-of-synch with the ScrollAnimator's 
3193         currentPosition (which will just be 0,0 since it is being re-created like the 
3194         RenderLayer). This fix makes sure they are in synch by calling 
3195         setCurrentPosition() on the ScrollAnimator when the cached position is non-zero.
3196         * rendering/RenderLayer.cpp:
3197         (WebCore::RenderLayer::RenderLayer):
3198
3199 2012-07-25  Andreas Kling  <kling@webkit.org>
3200
3201         Make ElementAttributeData a variable-sized object to reduce memory use.
3202         <http://webkit.org/b/88240>
3203
3204         Reviewed by Ryosuke Niwa.
3205
3206         Take advantage of the fact that we know at ElementAttributeData construction time how many attributes
3207         it needs to accomodate and allocate exactly as much space as needed instead of using a Vector.
3208         For elements that never have their attribute list mutated (the vast majority), this saves a lot of
3209         memory and removes the indirection to Vector<Attribute>'s heap-allocated storage.
3210
3211         Introduced a mutability flag to ElementAttributeData and sprinkled assertions all over to make sure
3212         that nothing tries to mutate an element with a raw attribute array.
3213
3214         When an Element's attribute(s) are mutated, we reconstruct the ElementAttributeData, this time using
3215         a Vector as backing instead. This is triggered when calling Element::mutableAttributeData().
3216
3217         This reduces memory consumption by 3.2MB when viewing the full HTML5 spec at <http://whatwg.org/c/>.
3218         That is a ~35% reduction in DOM attribute memory use.
3219
3220         Furthermore, that page ends up promoting 27% of the elements to mutable attribute storage due to dynamic
3221         adding of "class" attributes. For more static pages, savings are even greater.
3222
3223         Also did away with ElementAttributeData::removeAttribute(name) and do separate index lookup where
3224         needed. Not a big deal but avoids double lookup of attributes when removing them.
3225
3226         * dom/Element.cpp:
3227         (WebCore::Element::detachAttribute):
3228         (WebCore::Element::removeAttribute):
3229         (WebCore::Element::attributes):
3230         (WebCore::Element::setAttributeInternal):
3231         (WebCore::Element::parserSetAttributes):
3232         (WebCore::Element::hasEquivalentAttributes):
3233         (WebCore::Element::setAttributeNode):
3234         (WebCore::Element::removeAttributeNode):
3235         (WebCore::Element::getAttributeNode):
3236         (WebCore::Element::getAttributeNodeNS):
3237         (WebCore::Element::hasAttribute):
3238         (WebCore::Element::hasAttributeNS):
3239         (WebCore::Element::cloneAttributesFromElement):
3240
3241             Sprinkle const on ElementAttributeData* pointers.
3242             Switch to using mutableAttributeData() in code paths that modify attributes.
3243
3244         (WebCore::Element::normalizeAttributes):
3245
3246             Cleaner iteration over attributes, I removed ElementAttributeData::attributeVector() since that
3247             was just incurring a bunch of extra Vector copying. Since ElementAttributeData already exposes
3248             length() and attributeItem(index), use those to iterate directly over the attributes.
3249
3250         (WebCore::Element::createMutableAttributeData):
3251
3252             Added, converts existing ElementAttributeData to a mutable object. Otherwise creates a new
3253             ElementAttributeData (mutable and empty.)
3254
3255         * dom/Element.h:
3256         (WebCore::Element::attributeData):
3257         (WebCore::Element::updatedAttributeData):
3258         (WebCore::Element::ensureAttributeData):
3259         (WebCore::Element::ensureUpdatedAttributeData):
3260
3261             Made all of these return "const ElementAttributeData*" to ensure at compile-time that nothing
3262             attempts to modify an ElementAttributeData that may be immutable.
3263
3264             ensureUpdatedAttributeData() is still const, despite possibly calling mutableAttributeData().
3265             The goal of having methods be const is to prevent conversion from one ElementAttributeData
3266             object to another, so that pointers remain intact and no unnecessary work gets done.
3267
3268         (WebCore::Element::mutableAttributeData):
3269
3270             Added, returns a guaranteed mutable ElementAttributeData* pointer.
3271
3272         * dom/ElementAttributeData.cpp:
3273         (WebCore::ElementAttributeData::createImmutable):
3274
3275             Creates a new ElementAttributeData tailored to fit the provided Vector<Attribute>.
3276
3277         (WebCore::ElementAttributeData::ElementAttributeData):
3278
3279             Moved constructors out-of-line, getting too complex for header files.
3280
3281             ElementAttributeData(const Vector<Attribute>&) creates an immutable ElementAttributeData
3282             containing the provided attributes in an array tacked onto the end of the object.
3283
3284         (WebCore::ElementAttributeData::~ElementAttributeData):
3285
3286             Free the attribute vector if mutable.
3287             For immutable objects, manually invoke destructor on each Attribute object,
3288             since these won't be destroyed automatically by ~ElementAttributeData.
3289
3290         (WebCore::ElementAttributeData::attrIfExists):
3291
3292         (WebCore::ElementAttributeData::ensureAttr):
3293         (WebCore::ElementAttributeData::setAttr):
3294         (WebCore::ElementAttributeData::removeAttr):
3295
3296             Make these const, as they should always have been- they don't affect the ElementAttributeData,
3297             only the global DOM Attr <-> ElementAttributeData mappings.
3298
3299         (WebCore::ElementAttributeData::ensureInlineStyle):
3300         (WebCore::ElementAttributeData::ensureMutableInlineStyle):
3301
3302             Sprinkle ASSERT(isMutable()). This doesn't mean that all Elements with inline styles automatically
3303             have mutable attribute data. There's still inlineStyle() for that, which may return null.
3304             These are only for use where you need a valid StylePropertySet*, even if there is no inline style
3305             attribute, e.g in editing code that wants to add style.
3306
3307         (WebCore::ElementAttributeData::updateInlineStyleAvoidingMutation):
3308         (WebCore::ElementAttributeData::destroyInlineStyle):
3309
3310             Make these const. While destroyInlineStyle() doesn't sound very const-y, immutable objects that
3311             contain a style attribute will have a valid inlineStyle() with that style data. This is just
3312             an interface for ~StyledElement to destroy the style object.
3313             It'd be nice to do that in ~ElementAttributeData(), but we need a StyledElement* pointer to
3314             clean up properly and we don't store one in this class.
3315
3316         (WebCore::ElementAttributeData::addAttribute):
3317         (WebCore::ElementAttributeData::removeAttribute):
3318         (WebCore::ElementAttributeData::clearAttributes):
3319         (WebCore::ElementAttributeData::replaceAttribute):
3320
3321             Sprinkle ASSERT(isMutable()).
3322             Always go straight for m_mutableAttributeVector since we know that's the storage being used.
3323
3324         (WebCore::ElementAttributeData::isEquivalent):
3325         (WebCore::ElementAttributeData::detachAttrObjectsFromElement):
3326         (WebCore::ElementAttributeData::getAttributeItemIndexSlowCase):
3327         (WebCore::ElementAttributeData::removeAttribute):
3328         (WebCore::ElementAttributeData::getAttributeItem):
3329         (WebCore::ElementAttributeData::getAttributeItemIndex):
3330
3331             Use length() and attributeItem(index) to iterate over the attributes.
3332
3333         (WebCore::ElementAttributeData::cloneDataFrom):
3334
3335             Sprinkle ASSERT(isMutable()). Added a FIXME that cloning elements could create immutable
3336             attribute data. I'm not sure this optimization is worthwhile, as cloning elements is already
3337             a semi-rare occurrence.
3338
3339             Updated code to handle both immutable and mutable source objects. This could 
3340
3341         (WebCore::ElementAttributeData::getAttributeNode):
3342
3343             Const correctness.
3344
3345         * dom/ElementAttributeData.h:
3346         (ElementAttributeData):
3347
3348             Turn attribute storage into what's effectively union { OwnPtr<Vector<Attribute>>; Attribute[]; }
3349             The new m_isMutable bit determines which union member should be used for access.
3350
3351         (WebCore::ElementAttributeData::create):
3352         (WebCore::ElementAttributeData::createImmutable):
3353
3354             Added createImmutable(const Vector<Attribute>&) as a complement to create().
3355
3356         (WebCore::ElementAttributeData::setClass):
3357         (WebCore::ElementAttributeData::setIdForStyleResolution):
3358         (WebCore::ElementAttributeData::inlineStyle):
3359         (WebCore::ElementAttributeData::setAttributeStyle):
3360
3361             Make these const, and their data member counterparts 'mutable'.
3362             An immutable ElementAttributeData object still has m_classNames, m_idForStyleResolution,
3363             m_inlineStyleDecl and m_attributeStyle.
3364
3365         (WebCore::ElementAttributeData::reportMemoryUsage):
3366
3367             Updated for isMutable().
3368
3369         (WebCore::ElementAttributeData::makeMutable):
3370
3371             Returns a mutable clone of itself.
3372
3373         (WebCore::ElementAttributeData::isEmpty):
3374         (WebCore::ElementAttributeData::length):
3375         (WebCore::ElementAttributeData::attributeItem):
3376
3377             Check isMutable() to know how to access attribute storage.
3378
3379         * dom/StyledElement.cpp:
3380         (WebCore::StyledElement::style):
3381         (WebCore::StyledElement::setInlineStyleProperty):
3382
3383             Simplify by using StyledElement::ensureInlineStyle().
3384
3385         (WebCore::StyledElement::classAttributeChanged):
3386
3387             Use mutableAttributeData() if the attribute is being removed completely.
3388             In other cases, tiptoe around without causing the attribute data to go mutable.
3389
3390         (WebCore::StyledElement::removeInlineStyleProperty):
3391
3392             Use mutableAttributeData() if/when actually removing something.
3393
3394         (WebCore::StyledElement::addSubresourceAttributeURLs):
3395
3396             Const correctness.
3397
3398         * dom/StyledElement.h:
3399         (WebCore::StyledElement::ensureInlineStyle):
3400
3401             This now implies conversion to mutable attribute data. Used by codepaths that add/remove
3402             properties, so conversion is inevitable.
3403
3404         * html/parser/HTMLConstructionSite.cpp:
3405         (WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement):
3406         (WebCore::HTMLConstructionSite::createHTMLElementFromSavedElement):
3407         * svg/properties/SVGAnimatedPropertyMacros.h:
3408         (WebCore::SVGSynchronizableAnimatedProperty::synchronize):
3409
3410             Use mutableAttributeData() as appropriate.
3411
3412         * xml/parser/XMLDocumentParserQt.cpp:
3413         (WebCore::XMLDocumentParser::XMLDocumentParser):
3414
3415             Const correctness.
3416
3417 2012-07-25  Andrew Wilson  <atwilson@chromium.org>
3418
3419         Unreviewed, rolling out r123560.
3420         http://trac.webkit.org/changeset/123560
3421         https://bugs.webkit.org/show_bug.cgi?id=90321
3422
3423         Breaks chromium valgrind tests.
3424
3425         * html/FTPDirectoryDocument.cpp:
3426         (WebCore::FTPDirectoryDocumentParser::append):
3427         * html/parser/HTMLEntityParser.cpp:
3428         (WebCore::HTMLEntityParser::consumeNamedEntity):
3429         * html/parser/HTMLParserIdioms.cpp:
3430         (WebCore::stripLeadingAndTrailingHTMLSpaces):
3431         * html/parser/HTMLSourceTracker.cpp:
3432         (WebCore::HTMLSourceTracker::sourceForToken):
3433         * loader/cache/CachedScript.cpp:
3434         (WebCore::CachedScript::script):
3435         * platform/text/SegmentedString.cpp:
3436         (WebCore::SegmentedString::SegmentedString):
3437         (WebCore::SegmentedString::operator=):
3438         (WebCore::SegmentedString::clear):
3439         (WebCore::SegmentedString::append):
3440         (WebCore::SegmentedString::prepend):
3441         (WebCore::SegmentedString::advanceSubstring):
3442         (WebCore::SegmentedString::advance):
3443         (WebCore::SegmentedString::advanceSlowCase):
3444         (WebCore::SegmentedString::advanceAndUpdateLineNumberSlowCase):
3445         * platform/text/SegmentedString.h:
3446         (WebCore::SegmentedSubstring::SegmentedSubstring):
3447         (WebCore::SegmentedSubstring::clear):
3448         (WebCore::SegmentedSubstring::appendTo):
3449         (SegmentedSubstring):
3450         (WebCore::SegmentedString::SegmentedString):
3451         (WebCore::SegmentedString::push):
3452         (WebCore::SegmentedString::isEmpty):
3453         (WebCore::SegmentedString::lookAhead):
3454         (WebCore::SegmentedString::lookAheadIgnoringCase):
3455         (WebCore::SegmentedString::advance):
3456         (WebCore::SegmentedString::advanceAndASSERT):
3457         (WebCore::SegmentedString::advanceAndASSERTIgnoringCase):
3458         (WebCore::SegmentedString::advancePastNewlineAndUpdateLineNumber):
3459         (SegmentedString):
3460         (WebCore::SegmentedString::advancePastNonNewline):
3461         (WebCore::SegmentedString::advanceAndUpdateLineNumber):
3462         (WebCore::SegmentedString::operator*):
3463         (WebCore::SegmentedString::operator->):
3464         (WebCore::SegmentedString::current):
3465         (WebCore::SegmentedString::equalsLiterally):
3466         (WebCore::SegmentedString::equalsIgnoringCase):
3467         (WebCore::SegmentedString::lookAheadInline):
3468         (WebCore::SegmentedString::lookAheadSlowCase):
3469         * xml/parser/CharacterReferenceParserInlineMethods.h:
3470         (WebCore::consumeCharacterReference):
3471         * xml/parser/MarkupTokenizerBase.h:
3472         (WebCore::MarkupTokenizerBase::InputStreamPreprocessor::nextInputCharacter):
3473         (WebCore::MarkupTokenizerBase::InputStreamPreprocessor::peek):
3474         (WebCore::MarkupTokenizerBase::InputStreamPreprocessor::advance):
3475
3476 2012-07-25  Konrad Piascik  <kpiascik@rim.com>
3477
3478         Web Inspector: Geolocation override
3479         https://bugs.webkit.org/show_bug.cgi?id=89365
3480
3481         Reviewed by Pavel Feldman.
3482
3483         Re-added the m_page member variable for GeolocationController since
3484         it's now being used by InspectorInstrumentaiton.
3485
3486         Added a way to override the GeolocationPosition and GeolocationError
3487         using Web Inspector. Curretnly only PositionError can be set.
3488
3489         This will be hidden behind the experiments flag for now.
3490
3491         Tests: inspector/geolocation-error.html
3492                inspector/geolocation-success.html
3493                inspector/geolocation-watchPosition.html
3494
3495         * English.lproj/localizedStrings.js:
3496         * Modules/geolocation/GeolocationController.cpp:
3497         (WebCore::GeolocationController::GeolocationController):
3498         (WebCore::GeolocationController::positionChanged):
3499         * Modules/geolocation/GeolocationController.h:
3500         (GeolocationController):
3501         * inspector/Inspector.json:
3502         * inspector/InspectorInstrumentation.cpp:
3503         (WebCore):
3504         (WebCore::InspectorInstrumentation::overrideGeolocationPositionImpl):
3505         * inspector/InspectorInstrumentation.h:
3506         (WebCore):
3507         (InspectorInstrumentation):
3508         (WebCore::InspectorInstrumentation::overrideGeolocationPosition):
3509         * inspector/InspectorPageAgent.cpp:
3510         (WebCore::InspectorPageAgent::InspectorPageAgent):
3511         (WebCore::InspectorPageAgent::setGeolocationOverride):
3512         (WebCore):
3513         (WebCore::InspectorPageAgent::clearGeolocationOverride):
3514         (WebCore::InspectorPageAgent::canOverrideGeolocation):
3515         (WebCore::InspectorPageAgent::overrideGeolocationPosition):
3516         * inspector/InspectorPageAgent.h:
3517         * inspector/front-end/Settings.js:
3518         * inspector/front-end/SettingsScreen.js:
3519         (WebInspector.UserAgentSettingsTab):
3520         (WebInspector.UserAgentSettingsTab.prototype._createDeviceMetricsElement):
3521         (WebInspector.UserAgentSettingsTab.prototype._onGeolocationOverrideCheckboxClicked):
3522         (WebInspector.UserAgentSettingsTab.prototype._applyGeolocationUserInput):
3523         (WebInspector.UserAgentSettingsTab.prototype._setGeolocationPosition.set if):
3524         (WebInspector.UserAgentSettingsTab.prototype._setGeolocationPosition):
3525         (WebInspector.UserAgentSettingsTab.prototype._createGeolocationOverrideElement.createInput):
3526         (WebInspector.UserAgentSettingsTab.prototype._createGeolocationOverrideElement):
3527         * inspector/front-end/UserAgentSupport.js:
3528         (WebInspector.UserAgentSupport.GeolocationPosition):
3529         (WebInspector.UserAgentSupport.GeolocationPosition.prototype.toSetting):
3530         (WebInspector.UserAgentSupport.GeolocationPosition.parseSetting):
3531         (WebInspector.UserAgentSupport.GeolocationPosition.parseUserInput):
3532         (WebInspector.UserAgentSupport.GeolocationPosition.clearGeolocationOverride):
3533         * inspector/front-end/inspector.js:
3534         (WebInspector.doLoadedDone):
3535
3536 2012-07-25  Shawn Singh  <shawnsingh@chromium.org>
3537
3538         [chromium] Build fix for clang builds after r123628
3539         https://bugs.webkit.org/show_bug.cgi?id=92266
3540
3541         Reviewed by Adrienne Walker.
3542
3543         An un-used variable was causing build failures for clang builds
3544         after the refactoring in r123628.  It is correct to simply remove
3545         this value.
3546
3547         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
3548         (WebCore::calculateDrawTransformsInternal):
3549
3550 2012-07-25  Hans Wennborg  <hans@chromium.org>
3551
3552         Speech JavaScript API: extract function from SpeechRecognitionResult::emma()
3553         https://bugs.webkit.org/show_bug.cgi?id=92232
3554
3555         Reviewed by Adam Barth.
3556
3557         Extract code for creating emma-qualified names to a helper function.
3558
3559         Just a refactoring; covered by the existing test.
3560
3561         * Modules/speech/SpeechRecognitionResult.cpp:
3562         (WebCore::emmaQualifiedName):
3563         (WebCore):
3564         (WebCore::SpeechRecognitionResult::emma):
3565
3566 2012-07-25  Adrienne Walker  <enne@google.com>
3567
3568         [chromium] Unify compositor quadTransform/drawTransform/originTransform
3569         https://bugs.webkit.org/show_bug.cgi?id=91417
3570
3571         Reviewed by Kenneth Russell.
3572
3573         drawTransform used to operate on centered layer rects. To unify quad
3574         transforms, draw transforms, and origin transforms, make draw
3575         transforms operate on content rects with the origin in the top left.
3576
3577         This essentially eliminates the need for surface origin transforms,
3578         which will be eliminated in a future patch.
3579
3580         Also, remove the unused CCLayerImpl::getDrawRect function.
3581
3582         No-op refactoring. Tested by existing tests.
3583
3584         * platform/graphics/chromium/LayerRendererChromium.cpp:
3585         (WebCore::LayerRendererChromium::drawRenderPassQuad):
3586         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
3587         (WebCore::RenderSurfaceChromium::drawableContentRect):
3588         * platform/graphics/chromium/cc/CCDamageTracker.cpp:
3589         (WebCore::CCDamageTracker::extendDamageForLayer):
3590         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
3591         (WebCore::CCLayerImpl::createSharedQuadState):
3592         * platform/graphics/chromium/cc/CCLayerImpl.h:
3593         (CCLayerImpl):
3594         * platform/graphics/chromium/cc/CCLayerSorter.cpp:
3595         (WebCore::CCLayerSorter::LayerShape::LayerShape):
3596         (WebCore::CCLayerSorter::createGraphNodes):
3597         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
3598         (WebCore::calculateVisibleContentRect):
3599         (WebCore::calculateDrawTransformsInternal):
3600         * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
3601         (WebCore::::markOccludedBehindLayer):
3602         (WebCore::::occluded):
3603         (WebCore::::unoccludedContentRect):
3604         * platform/graphics/chromium/cc/CCRenderPass.cpp:
3605         (WebCore::CCRenderPass::appendQuadsToFillScreen):
3606         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
3607         (WebCore::CCRenderSurface::drawableContentRect):
3608
3609 2012-07-25  Tommy Widenflycht  <tommyw@google.com>
3610
3611         MediaStream API: Update MediaStreamTrack to match the specification
3612         https://bugs.webkit.org/show_bug.cgi?id=90180
3613
3614         Reviewed by Adam Barth.
3615
3616         MediaStreamTracks are now required to show the status of the underlying source,
3617         and trigger events when that status changes.
3618
3619         Test: fast/mediastream/MediaStreamTrack.html
3620
3621         * GNUmakefile.list.am:
3622         * Modules/mediastream/MediaStream.cpp:
3623         (WebCore::MediaStream::MediaStream):
3624         (WebCore::MediaStream::addTrack):
3625         * Modules/mediastream/MediaStreamTrack.cpp:
3626         (WebCore::MediaStreamTrack::create):
3627         (WebCore::MediaStreamTrack::MediaStreamTrack):
3628         (WebCore::MediaStreamTrack::~MediaStreamTrack):
3629         (WebCore::MediaStreamTrack::setEnabled):
3630         (WebCore::MediaStreamTrack::readyState):
3631         (WebCore):
3632         (WebCore::MediaStreamTrack::sourceChangedState):
3633         (WebCore::MediaStreamTrack::stop):
3634         (WebCore::MediaStreamTrack::interfaceName):
3635         (WebCore::MediaStreamTrack::scriptExecutionContext):
3636         (WebCore::MediaStreamTrack::eventTargetData):
3637         (WebCore::MediaStreamTrack::ensureEventTargetData):
3638         * Modules/mediastream/MediaStreamTrack.h:
3639         * Modules/mediastream/MediaStreamTrack.idl:
3640         * WebCore.gypi:
3641         * dom/EventNames.h:
3642         (WebCore):
3643         * dom/EventTargetFactory.in:
3644         * platform/chromium/support/WebMediaStreamDescriptor.cpp:
3645         * platform/chromium/support/WebMediaStreamSource.cpp:
3646         (WebKit::WebMediaStreamSource::setReadyState):
3647         (WebKit):
3648         (WebKit::WebMediaStreamSource::readyState):
3649         * platform/mediastream/MediaStreamSource.cpp: Copied from Source/WebCore/platform/mediastream/MediaStreamSource.h.
3650         (WebCore):
3651         (WebCore::MediaStreamSource::create):
3652         (WebCore::MediaStreamSource::MediaStreamSource):
3653         (WebCore::MediaStreamSource::setReadyState):
3654         (WebCore::MediaStreamSource::addObserver):
3655         (WebCore::MediaStreamSource::removeObserver):
3656         * platform/mediastream/MediaStreamSource.h:
3657         (Observer):
3658         (WebCore::MediaStreamSource::Observer::~Observer):
3659         (MediaStreamSource):
3660         (WebCore::MediaStreamSource::readyState):
3661         * platform/mediastream/chromium/MediaStreamCenterChromium.cpp:
3662         (WebCore::MediaStreamCenterChromium::queryMediaStreamSources):
3663         (WebCore::MediaStreamCenterChromium::didCreateMediaStream):
3664
3665 2012-07-25  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
3666
3667         Incorrect rounding in ceiledLayoutUnit and roundedLayoutUnit.
3668         https://bugs.webkit.org/show_bug.cgi?id=91061
3669
3670         Reviewed by Adam Barth.
3671
3672         The two functions are currently both returning the flooredLayoutUnit when subpixel
3673         layout is enabled. This patch changes them to return the correct fractional rounded
3674         value.
3675
3676         * platform/FractionalLayoutUnit.h:
3677         (WebCore::FractionalLayoutUnit::fromFloatCeil):
3678         (FractionalLayoutUnit):
3679         (WebCore::FractionalLayoutUnit::fromFloatRound):
3680         * rendering/LayoutTypes.h:
3681         (WebCore::roundedLayoutUnit):
3682         (WebCore::ceiledLayoutUnit):
3683         * rendering/RenderBlock.cpp:
3684         (WebCore::updatePreferredWidth):
3685
3686 2012-07-25  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3687
3688         Add *explicit* keyword to constructors in WebCore/platform
3689         https://bugs.webkit.org/show_bug.cgi?id=92238
3690
3691         Reviewed by Kentaro Hara.
3692
3693         As a step to let *explicit* keyword add to constructors which have a parameter,
3694         *explicit* keyword is added to Source/WebCore/platform in order to avoid implicit
3695         type conversion.
3696
3697         Some files in platform directory can't use explicit keyword because of build breaks.
3698
3699         No new tests. Covered by existing tests.
3700
3701         * platform/AutodrainedPool.h:
3702         (AutodrainedPool):
3703         * platform/ContentType.h:
3704         (ContentType):
3705         * platform/ContextMenu.h:
3706         (ContextMenu):
3707         * platform/ContextMenuItem.h:
3708         (ContextMenuItem):
3709         * platform/Cursor.h:
3710         (WebCore::SharedCursor::SharedCursor):
3711         (Cursor):
3712         * platform/KURL.h:
3713         (WebCore::KURL::KURL):
3714         (KURL):
3715         * platform/KURLGooglePrivate.h:
3716         (KURLGooglePrivate):
3717         * platform/PODRedBlackTree.h:
3718         (WebCore::PODRedBlackTree::PODRedBlackTree):
3719         * platform/Pasteboard.h:
3720         (Pasteboard):
3721         * platform/PlatformEvent.h:
3722         (WebCore::PlatformEvent::PlatformEvent):
3723         * platform/PlatformKeyboardEvent.h:
3724         (PlatformKeyboardEvent):
3725         * platform/PlatformMouseEvent.h:
3726         (PlatformMouseEvent):
3727         * platform/PlatformPasteboard.h:
3728         (PlatformPasteboard):
3729         * platform/PlatformTouchEvent.h:
3730         (PlatformTouchEvent):
3731         * platform/PlatformWheelEvent.h:
3732         (PlatformWheelEvent):
3733         * platform/RunLoop.h:
3734         (TimerBase):
3735         * platform/ScrollAnimator.h:
3736         (ScrollAnimator):
3737         * platform/ScrollAnimatorNone.h:
3738         (ScrollAnimatorNone):
3739         * platform/SharedBuffer.h:
3740         (SharedBuffer):
3741         * platform/WheelFlingPlatformGestureCurve.h:
3742         (WheelFlingPlatformGestureCurve):
3743         * platform/Widget.h:
3744         (Widget):
3745
3746 2012-07-25  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
3747
3748         NodesFromRect and area-based hit-testing can not handle CSS transforms.
3749         https://bugs.webkit.org/show_bug.cgi?id=85792
3750
3751         Reviewed by Eric Seidel.
3752
3753         To support the combination of CSS transforms and rect based hit testing,
3754         we need to test against the transformed rect, instead of the original rect.
3755
3756         This patch makes HitTestPoint store the exact transformed FloatPoint and 
3757         FloatQuad, and modifies the intersection methods so that they will use a 
3758         new FloatQuad based intersection when transforms requires it.
3759
3760         Tests: fast/dom/nodesFromRect/nodesFromRect-rotate.html
3761                fast/dom/nodesFromRect/nodesFromRect-scale.html
3762
3763         * platform/graphics/FloatQuad.cpp:
3764         (WebCore::determinant):
3765         (WebCore::rightMostCornerToVector):
3766         (WebCore::FloatQuad::intersectsRect):
3767         (WebCore::FloatQuad::isCounterclockwise):
3768         * platform/graphics/FloatQuad.h:
3769         (FloatQuad):
3770         * rendering/HitTestResult.cpp:
3771         (WebCore::HitTestPoint::HitTestPoint):
3772         (WebCore::HitTestPoint::operator=):
3773         (WebCore::HitTestPoint::move):
3774         (WebCore::HitTestPoint::intersectsRect):
3775         (WebCore::HitTestPoint::intersects):
3776         * rendering/HitTestResult.h:
3777         (HitTestPoint):
3778         (WebCore::HitTestPoint::isRectilinear):
3779         (WebCore::HitTestPoint::transformedPoint):
3780         (WebCore::HitTestPoint::transformedRect):
3781         * rendering/HitTestingTransformState.cpp:
3782         (WebCore::HitTestingTransformState::flattenWithTransform):
3783         (WebCore::HitTestingTransformState::mappedArea):
3784         (WebCore::HitTestingTransformState::boundsOfMappedArea):
3785         * rendering/HitTestingTransformState.h:
3786         (WebCore::HitTestingTransformState::create):
3787         (WebCore::HitTestingTransformState::HitTestingTransformState):
3788         * rendering/RenderFlowThread.cpp:
3789         (WebCore::RenderFlowThread::hitTestRegion):
3790         * rendering/RenderLayer.cpp:
3791         (WebCore::RenderLayer::hitTest):
3792         (WebCore::RenderLayer::createLocalTransformState):
3793         (WebCore::RenderLayer::hitTestLayer):
3794         (WebCore::RenderLayer::hitTestChildLayerColumns):
3795         * rendering/RenderLayer.h:
3796         * rendering/svg/RenderSVGText.cpp:
3797         (WebCore::RenderSVGText::nodeAtFloatPoint):
3798
3799 2012-07-25  Kwang Yul Seo  <skyul@company100.net>
3800
3801         Add HTMLStackItem.h to project files
3802         https://bugs.webkit.org/show_bug.cgi?id=92221
3803
3804         Reviewed by Adam Barth.
3805
3806         Added HTMLStackItem.h introduced in r123399 to project files.
3807
3808         Project file changes only, no change in behavior thus no new tests.
3809
3810         * GNUmakefile.list.am:
3811         * WebCore.gypi:
3812         * WebCore.vcproj/WebCore.vcproj:
3813         * WebCore.xcodeproj/project.pbxproj:
3814
3815 2012-07-25  Sheriff Bot  <webkit.review.bot@gmail.com>
3816
3817         Unreviewed, rolling out r123606.
3818         http://trac.webkit.org/changeset/123606
3819         https://bugs.webkit.org/show_bug.cgi?id=92247
3820
3821         broke Windows build of Chromium (Requested by tomhudson on
3822         #webkit).
3823
3824         * Resources/colorSuggestionPicker.css: Removed.
3825         * Resources/colorSuggestionPicker.js: Removed.
3826         * WebCore.gyp/WebCore.gyp:
3827
3828 2012-07-25  Pavel Feldman  <pfeldman@chromium.org>
3829
3830         Web Inspector: disabling property should remove "overriden" decoration from overriden UA shorthand.
3831         https://bugs.webkit.org/show_bug.cgi?id=92253
3832
3833         Reviewed by Vsevolod Vlasov.
3834
3835         Bug fix with a test and more compilation markup.
3836
3837         Test: inspector/styles/styles-disable-then-enable-overriden-ua.html
3838
3839         * inspector/front-end/StylesSidebarPane.js:
3840         (WebInspector.StylePropertiesSection.prototype.update):
3841         (WebInspector.StylePropertyTreeElement):
3842         (WebInspector.StylePropertyTreeElement.prototype):
3843
3844 2012-07-25  Vsevolod Vlasov  <vsevik@chromium.org>
3845
3846         Web Inspector: Improve ObjectPropertiesSection UI by adding a tooltip for the value.
3847         https://bugs.webkit.org/show_bug.cgi?id=92225
3848
3849         Reviewed by Pavel Feldman.
3850
3851         Added tooltip with property value description on the property's valueElement.
3852
3853         * inspector/front-end/ObjectPropertiesSection.js:
3854         (WebInspector.ObjectPropertyTreeElement.prototype.update):
3855
3856 2012-07-25  Pavel Feldman  <pfeldman@chromium.org>
3857
3858         https://bugs.webkit.org/show_bug.cgi?id=91931
3859
3860         Reviewed by Vsevolod Vlasov.
3861
3862         - Synthetic shorthand values are now only returned for source-less styles
3863         - CSSAgents reports longhands along with the property names in getSupportedCSSProperties
3864         - StylesSidebarPane now has two paths: for source-enabled styles and for CSSOM-based ones (UA styles)
3865         - CSSStyleModel uses style metainfo as a source of shorthand / longhand relationship now
3866
3867         Test: inspector/styles/styles-overriden-properties.html
3868
3869         * inspector/Inspector.json:
3870         * inspector/InspectorCSSAgent.cpp:
3871         (WebCore::InspectorCSSAgent::getSupportedCSSProperties):
3872         * inspector/InspectorCSSAgent.h:
3873         (InspectorCSSAgent):
3874         * inspector/InspectorStyleSheet.cpp:
3875         (WebCore::InspectorStyle::styleWithProperties):
3876         * inspector/front-end/CSSCompletions.js:
3877         (WebInspector.CSSCompletions):
3878         (WebInspector.CSSCompletions.requestCSSNameCompletions):
3879         (WebInspector.CSSCompletions.prototype._closest):
3880         (WebInspector.CSSCompletions.prototype.longhands):
3881         (WebInspector.CSSCompletions.prototype.shorthands):
3882         * inspector/front-end/CSSStyleModel.js:
3883         (WebInspector.CSSStyleDeclaration):
3884         (WebInspector.CSSStyleDeclaration.prototype.longhandProperties):
3885         (WebInspector.CSSStyleDeclaration.prototype.shorthandValue):
3886         (WebInspector.CSSStyleDeclaration.prototype.newBlankProperty):
3887         (WebInspector.CSSProperty):
3888         (WebInspector.CSSProperty.parsePayload):
3889         * inspector/front-end/SourceCSSTokenizer.js:
3890         (WebInspector.SourceCSSTokenizer):
3891         * inspector/front-end/SourceCSSTokenizer.re2js:
3892         * inspector/front-end/StylesSidebarPane.js:
3893         (WebInspector.StylePropertiesSection.prototype.isPropertyOverloaded):
3894         (WebInspector.StylePropertiesSection.prototype.update):
3895         (WebInspector.StylePropertiesSection.prototype.onpopulate):
3896         (WebInspector.StylePropertyTreeElement.prototype):
3897
3898 2012-07-25  Keishi Hattori  <keishi@webkit.org>
3899
3900         Implement ColorSuggestionPicker page popup
3901         https://bugs.webkit.org/show_bug.cgi?id=92109
3902
3903         Reviewed by Kent Tamura.
3904
3905         Implements ColorSuggestionPicker page popup. This will be used in
3906         certain ports as the datalist UI for <input type=color>.
3907
3908         No new tests because there is no way to open the popup yet.
3909
3910         * Resources/colorSuggestionPicker.css: Added.
3911         (body):
3912         (#main):
3913         (.color-swatch):
3914         (.color-swatch:hover):
3915         (.color-swatch-container):
3916         (.other-color):
3917         * Resources/colorSuggestionPicker.js: Added.
3918         (getScrollbarWidth):When there are more than 20 colors we need to
3919         increase the window width to accommodate the scroll bar.
3920         (createElement):
3921         (handleMessage):
3922         (initialize):
3923         (handleArgumentsTimeout):
3924         (validateArguments):
3925         (submitValue): Calls setValueAndClosePopup with a numValue of 0.
3926         (handleCancel): Calls setValueAndClosePopup with a numValue of -1.
3927         (chooseOtherColor): Calls setValueAndClosePopup with a numValue of -2.
3928         (ColorPicker):
3929         (ColorPicker.prototype._layout): Lays out the color swatches in a 5x4
3930         grid.
3931         (ColorPicker.prototype._handleSwatchClick):
3932         * WebCore.gyp/WebCore.gyp:
3933
3934 2012-07-25  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
3935
3936         Fix arithmetic composite filter for auto-vectorization
3937         https://bugs.webkit.org/show_bug.cgi?id=92123
3938
3939         Reviewed by Nikolas Zimmermann.
3940
3941         Since only clamping of the result prevents GCC from auto-vectorizing the inner loop, this patch 
3942         adds a faster version of the inner loop to handle cases where clamping is unnecessary, 
3943
3944         * platform/graphics/filters/FEComposite.cpp:
3945         (WebCore::computeArithmeticPixelsUnclamped):
3946         (WebCore::arithmeticSoftware):
3947
3948 2012-07-25  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
3949
3950         Fix blend filter for autovectorizing
3951         https://bugs.webkit.org/show_bug.cgi?id=91398
3952
3953         Reviewed by Nikolas Zimmermann.
3954
3955         Get rid of wrapper classes, and use functions directly as template argument.
3956
3957         * platform/graphics/filters/FEBlend.cpp:
3958         (WebCore::feBlendNormal):
3959         (WebCore::feBlendMultiply):
3960         (WebCore::feBlendScreen):
3961         (WebCore::feBlendDarken):
3962         (WebCore::feBlendLighten):
3963         (WebCore::feBlendUnknown):
3964         (WebCore::platformApply):
3965         (WebCore::FEBlend::platformApplyGeneric):
3966
3967 2012-07-25  Keishi Hattori  <keishi@webkit.org>
3968
3969         Add methods to ColorChooserClient so the color chooser can show suggestions
3970         https://bugs.webkit.org/show_bug.cgi?id=92114
3971
3972         Reviewed by Kent Tamura.
3973
3974         Added methods to ColorChooserClient so the color chooser can ask the
3975         client for suggestions and current color.
3976
3977         No new tests. The methods are not used yet.
3978
3979         * html/ColorInputType.cpp:
3980         (WebCore::ColorInputType::currentColor): Returns what color the color
3981         chooser should display.
3982         (WebCore):
3983         (WebCore::ColorInputType::shouldShowSuggestions): Returns if the UI for
3984         suggestions should be shown.
3985         (WebCore::ColorInputType::suggestions): Returns a list of colors to be
3986         suggested to the user.
3987         * html/ColorInputType.h:
3988         (ColorInputType):
3989         * html/HTMLInputElement.h:
3990         (HTMLInputElement): Made dataList() public.
3991         * platform/ColorChooserClient.h:
3992         (ColorChooserClient):
3993
3994 2012-07-25  Kentaro Hara  <haraken@chromium.org>
3995
3996         Replace int with long in test IDL files
3997         https://bugs.webkit.org/show_bug.cgi?id=92181
3998
3999         Reviewed by Adam Barth.
4000
4001         int is not a valid type in WebIDL. It should be long.
4002         We should replace int with long in bindings/scripts/test/*.idl.
4003         This is a follow-up patch for r123550.
4004
4005         Test: bindings/scripts/test/TestObj.idl
4006
4007         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
4008         (WebDOMTestObj::readOnlyLongAttr):
4009         (WebDOMTestObj::Attr):
4010         (WebDOMTestObj::setAttr):
4011         (WebDOMTestObj::voidMethodWithArgs):
4012         (WebDOMTestObj::Method):
4013         (WebDOMTestObj::MethodWithArgs):
4014         (WebDOMTestObj::objMethodWithArgs):
4015         * bindings/scripts/test/CPP/WebDOMTestObj.h:
4016         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
4017         (webkit_dom_test_obj_set_property):
4018         (webkit_dom_test_obj_get_property):
4019         (webkit_dom_test_obj_class_init):
4020         (webkit_dom_test_obj_void_method_with_args):
4021         (webkit_dom_test_obj_method):
4022         (webkit_dom_test_obj_method_with_args):
4023         (webkit_dom_test_obj_obj_method_with_args):
4024         (webkit_dom_test_obj_get_read_only_long_attr):
4025         (webkit_dom_test_obj_get_attr):
4026         (webkit_dom_test_obj_set_attr):
4027         (webkit_dom_test_obj_get_strawberry):
4028         (webkit_dom_test_obj_set_strawberry):
4029         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
4030         * bindings/scripts/test/JS/JSTestObj.cpp:
4031         (WebCore):
4032         (WebCore::jsTestObjReadOnlyLongAttr):
4033         (WebCore::jsTestObjConstructorStaticReadOnlyLongAttr):
4034         (WebCore::jsTestObjAttr):
4035         (WebCore::setJSTestObjAttr):
4036         (WebCore::setJSTestObjStrawberry):
4037         (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
4038         (WebCore::jsTestObjPrototypeFunctionMethod):
4039         (WebCore::jsTestObjPrototypeFunctionMethodWithArgs):
4040         (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
4041         (WebCore::jsTestObjPrototypeFunctionMethodReturningSequence):
4042         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
4043         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
4044         * bindings/scripts/test/JS/JSTestObj.h:
4045         (WebCore):
4046         * bindings/scripts/test/ObjC/DOMTestObj.h:
4047         * bindings/scripts/test/ObjC/DOMTestObj.mm:
4048         (-[DOMTestObj readOnlyLongAttr]):
4049         (-[DOMTestObj Attr]):
4050         (-[DOMTestObj setAttr:]):
4051         (-[DOMTestObj voidMethodWithArgs:strArg:objArg:]):
4052         (-[DOMTestObj Method]):
4053         (-[DOMTestObj MethodWithArgs:strArg:objArg:]):
4054         (-[DOMTestObj objMethodWithArgs:strArg:objArg:]):
4055         (-[DOMTestObj customMethodWithArgs:strArg:objArg:]):
4056         * bindings/scripts/test/TestObj.idl:
4057         * bindings/scripts/test/V8/V8TestObj.cpp:
4058         (WebCore::TestObjV8Internal::readOnlyLongAttrAttrGetter):
4059         (WebCore::TestObjV8Internal::staticReadOnlyLongAttrAttrGetter):
4060         (WebCore::TestObjV8Internal::AttrAttrGetter):
4061         (WebCore::TestObjV8Internal::AttrAttrSetter):
4062         (WebCore::TestObjV8Internal::strawberryAttrSetter):
4063         (WebCore::TestObjV8Internal::voidMethodWithArgsCallback):
4064         (WebCore::TestObjV8Internal::MethodCallback):
4065         (WebCore::TestObjV8Internal::MethodWithArgsCallback):
4066         (WebCore::TestObjV8Internal::objMethodWithArgsCallback):
4067         (WebCore::TestObjV8Internal::methodReturningSequenceCallback):
4068         (WebCore::TestObjV8Internal::overloadedMethod2Callback):
4069         (WebCore::TestObjV8Internal::overloadedMethod4Callback):
4070         (WebCore):
4071         (WebCore::ConfigureV8TestObjTemplate):
4072
4073 2012-07-25  Shinya Kawanaka  <shinyak@chromium.org>
4074
4075         A validation bubble should not be modifiable.