[chromium] Fix crash in DragImageTest caused by r122996
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-07-18  Varun Jain  <varunjain@chromium.org>
2
3         [chromium] Fix crash in DragImageTest caused by r122996
4         https://bugs.webkit.org/show_bug.cgi?id=91653
5
6         Reviewed by Tony Chang.
7
8         Covered by existing DragImageTest.
9
10         * platform/chromium/DragImageChromiumSkia.cpp:
11         (WebCore::deleteDragImage):
12
13 2012-07-18  Varun Jain  <varunjain@chromium.org>
14
15         [chromium] Drag image for image elements should be scaled with device scale factor.
16         https://bugs.webkit.org/show_bug.cgi?id=89688
17
18         Reviewed by Adam Barth.
19
20         Modified ManualTest: ManualTests/chromium/drag-image-accounts-for-device-scale.html
21
22         * page/Frame.cpp:
23         (WebCore::Frame::nodeImage):
24         (WebCore::Frame::dragImageForSelection):
25         * platform/chromium/DragImageChromiumSkia.cpp:
26         (WebCore::dragImageSize):
27         (WebCore::deleteDragImage):
28         (WebCore::scaleDragImage):
29         (WebCore::dissolveDragImageToFraction):
30         (WebCore::createDragImageFromImage):
31         * platform/chromium/DragImageRef.h:
32         (DragImageChromium):
33         (WebCore):
34         * platform/graphics/skia/BitmapImageSingleFrameSkia.h:
35         (BitmapImageSingleFrameSkia):
36         * platform/graphics/skia/ImageBufferSkia.cpp:
37         (WebCore::ImageBuffer::ImageBuffer):
38         (WebCore::ImageBuffer::copyImage):
39         * platform/graphics/skia/ImageSkia.cpp:
40         (WebCore::BitmapImageSingleFrameSkia::BitmapImageSingleFrameSkia):
41         (WebCore::BitmapImageSingleFrameSkia::create):
42         * platform/graphics/skia/NativeImageSkia.cpp:
43         (WebCore::NativeImageSkia::NativeImageSkia):
44         * platform/graphics/skia/NativeImageSkia.h:
45         (NativeImageSkia):
46         (WebCore::NativeImageSkia::resolutionScale):
47
48 2012-07-18  Yong Li  <yoli@rim.com>
49
50         [BlackBerry] Move about: URL handling out of WebCore
51         https://bugs.webkit.org/show_bug.cgi?id=91541
52
53         Reviewed by Rob Buis.
54
55         Remove about URL handling from our NetworkJob.
56
57         * platform/network/blackberry/NetworkJob.cpp:
58         (WebCore::NetworkJob::NetworkJob):
59         (WebCore::NetworkJob::initialize):
60         (WebCore::NetworkJob::cancelJob):
61         (WebCore::NetworkJob::sendResponseIfNeeded):
62         * platform/network/blackberry/NetworkJob.h:
63         (NetworkJob):
64         * platform/network/blackberry/NetworkManager.cpp:
65         (WebCore::NetworkManager::startJob):
66
67 2012-07-18  Tony Chang  <tony@chromium.org>
68
69         Unreviewed, rolling out r122984.
70         http://trac.webkit.org/changeset/122984
71         https://bugs.webkit.org/show_bug.cgi?id=91171
72
73         Broken the shared build, need to export a SkData in skia
74
75         * platform/graphics/skia/GraphicsContextSkia.cpp:
76         (WebCore::GraphicsContext::setURLForRect):
77
78 2012-07-18  Rob Buis  <rbuis@rim.com>
79
80         Alignment crash in MIMESniffer
81         https://bugs.webkit.org/show_bug.cgi?id=89787
82
83         Reviewed by Yong Li.
84
85         PR 169064
86
87         Prevent ASSERT on unaligned data. Special-case handling of unaligned data
88         to maskedCompareSlowCase.
89
90         No test, too hard to reproduce.
91
92         * platform/network/MIMESniffing.cpp:
93         (std::maskedCompareSlowCase):
94         (std):
95         (std::maskedCompare):
96
97 2012-07-18  Steve VanDeBogart  <vandebo@chromium.org>
98
99         Chrome/Skia: PDF print output does not have clickable links.
100         https://bugs.webkit.org/show_bug.cgi?id=91171
101
102         Reviewed by Stephen White.
103
104         Connect GraphicsContext::setURLForRect to Skia's new API for annotations.
105
106         Printing is not generally testable.
107
108         * platform/graphics/skia/GraphicsContextSkia.cpp:
109         (WebCore::GraphicsContext::setURLForRect):
110
111 2012-07-18  Philippe Normand  <pnormand@igalia.com>
112
113         [GStreamer] 0.11 build broken
114         https://bugs.webkit.org/show_bug.cgi?id=91629
115
116         Reviewed by Alexis Menard.
117
118         * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
119         (webkitVideoSinkProposeAllocation): Pass null GstStructure to
120         gst_query_add_allocation_meta(). Our propose-allocation method
121         is simple enough to not need to set it.
122
123 2012-07-18  Chris Fleizach  <cfleizach@apple.com>
124
125         AX: <input type="submit"> unlabelled.
126         https://bugs.webkit.org/show_bug.cgi?id=91563
127
128         Reviewed by Adele Peterson.
129
130         Make sure the default value is returned if there is no other value specified.
131
132         Test: platform/mac/accessibility/submit-button-default-value.html
133
134         * accessibility/AccessibilityRenderObject.cpp:
135         (WebCore::AccessibilityRenderObject::title):
136
137 2012-07-17  Shawn Singh  <shawnsingh@chromium.org>
138
139         [chromium] Remove awkward anchorPoint usage that implicity affects layer position
140         https://bugs.webkit.org/show_bug.cgi?id=91472
141
142         Reviewed by Adrienne Walker.
143
144         Covered by existing layout tests and unit tests, several existing unit tests updated.
145
146         In GraphicsLayerChromium, anchorPoint() implicity affects
147         position(). Therefore, unit tests needed to remember to set
148         anchorPoint correctly when trying to position layers for
149         testing. However, it's easy to forget that initialization, and
150         probably shouldn't be necessary anyway since conceptually
151         anchorPoint does not affect layer position.
152
153         This patch removes the "actualPosition + anchorPoint" quirk in
154         GraphicsLayerChromium, so that this problem is avoided.
155
156         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
157         (WebCore::GraphicsLayerChromium::updateLayerPosition): No longer computes position + anchorPoint. Instead this is done in calcDrawTransformsInternal.
158         (WebCore::GraphicsLayerChromium::updateLayerSize): No longer affects computation of position.
159         (WebCore::GraphicsLayerChromium::updateAnchorPoint): No longer affects computation of position
160         (WebCore::GraphicsLayerChromium::updateLayerPreserves3D): Position is initialized to zero instead of relative to anchorPoint
161         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
162         (WebCore::calculateDrawTransformsInternal): explicitly use position + anchorPoint in this code, for both layer and replica.
163             Note that replicaLayer now uses its own anchorPoint, which seems to be more consistent with Safari behavior.
164
165 2012-07-18  Pavel Feldman  <pfeldman@chromium.org>
166
167         Web Inspector: [Regression] Save as file is missing in Network panel preview/response tabs.
168         https://bugs.webkit.org/show_bug.cgi?id=91625
169
170         Reviewed by Vsevolod Vlasov.
171
172         * inspector/front-end/HandlerRegistry.js:
173         * inspector/front-end/NetworkPanel.js:
174
175 2012-07-18  Dirk Schulze  <krit@webkit.org>
176
177         SVG CSS property types with <number> don't support exponents
178         https://bugs.webkit.org/show_bug.cgi?id=52542
179
180         Reviewed by Nikolas Zimmermann.
181
182         Parse numbers in SVG presentation attributes with SVG parser to support scientific notations.
183         The SVG parser is already well tested and has some extra checks for edge like protection from
184         overflow.
185         
186         The patch is based upon a patch of Bear Travis.
187
188         Test: svg/css/scientific-numbers.html
189
190         * css/CSSParser.cpp:
191         (WebCore::CSSParser::lex): Use SVG parser to parse numbers of SVG attributes.
192         * svg/SVGParserUtilities.cpp:
193         (WebCore::parseSVGNumber): Added accessor to call from CSSParser with double value.
194         (WebCore):
195         * svg/SVGParserUtilities.h:
196         (WebCore):
197
198
199 2012-07-18  Pavel Feldman  <pfeldman@chromium.org>
200
201         Web Inspector: beautify the paused in debugger message, make it configurable from the front-end.
202         https://bugs.webkit.org/show_bug.cgi?id=91628
203
204         Reviewed by Vsevolod Vlasov.
205
206         Made message smaller, using consistent font;
207         Made message configurable from the front-end.
208
209         * English.lproj/localizedStrings.js:
210         * inspector/DOMNodeHighlighter.cpp:
211         (WebCore::InspectorOverlay::InspectorOverlay):
212         (WebCore::InspectorOverlay::setPausedInDebuggerMessage):
213         (WebCore::InspectorOverlay::update):
214         (WebCore::InspectorOverlay::drawPausedInDebugger):
215         * inspector/DOMNodeHighlighter.h:
216         (InspectorOverlay):
217         * inspector/Inspector.json:
218         * inspector/InspectorDebuggerAgent.cpp:
219         (WebCore::InspectorDebuggerAgent::setOverlayMessage):
220         (WebCore):
221         (WebCore::InspectorDebuggerAgent::clear):
222         * inspector/InspectorDebuggerAgent.h:
223         (InspectorDebuggerAgent):
224         * inspector/PageDebuggerAgent.cpp:
225         (WebCore::PageDebuggerAgent::setOverlayMessage):
226         * inspector/PageDebuggerAgent.h:
227         (PageDebuggerAgent):
228         * inspector/front-end/DebuggerModel.js:
229         (WebInspector.DebuggerModel.prototype._setDebuggerPausedDetails):
230
231 2012-07-18  Douglas Stockwell  <dstockwell@chromium.org>
232
233         WebCore::StylePropertySet::addParsedProperties - crash
234         https://bugs.webkit.org/show_bug.cgi?id=91153
235
236         Reviewed by Andreas Kling.
237
238         WebKitCSSKeyframeRule::style exposed an immutable StylePropertySet.
239         Modified to create a mutable copy on demand.
240
241         Test: fast/css/css-keyframe-style-mutate-crash.html
242
243         * css/StyleResolver.cpp:
244         (WebCore::StyleResolver::collectMatchingRulesForList):
245         * css/WebKitCSSKeyframeRule.cpp:
246         (WebCore::StyleKeyframe::mutableProperties): Added, creates a mutable copy of properties as required.
247         (WebCore::WebKitCSSKeyframeRule::style):
248         * css/WebKitCSSKeyframeRule.h:
249         (WebCore::StyleKeyframe::properties): Made const, use mutableProperties to mutate.
250
251 2012-07-18  Huang Dongsung  <luxtella@company100.net>
252
253         [Texmap] Make TextureMapperLayer clip m_state.needsDisplayRect with the layerRect.
254         https://bugs.webkit.org/show_bug.cgi?id=91595
255
256         Reviewed by Noam Rosenthal.
257
258         Internal review by Kwang Yul Seo.
259
260         Currently, TextureMapperLayer creates an ImageBuffer as big as
261         m_state.needsDisplayRect if m_state.needsDispaly is false. The size of
262         m_state.needsDisplayRect can be bigger than the size of the layerRect, so we may
263         consume more memory than the size of the layerRect. It even can cause crash if
264         m_state.needsDisplayRect is too big.
265
266         No new tests, covered by existing tests.
267
268         * platform/graphics/texmap/TextureMapperLayer.cpp:
269         (WebCore::TextureMapperLayer::updateBackingStore):
270
271 2012-07-18  Jason Liu  <jason.liu@torchmobile.com.cn>
272
273         [BlackBerry] We should update the status in NetworkJob if there is a new one from libcurl.
274         https://bugs.webkit.org/show_bug.cgi?id=91475
275
276         Reviewed by Yong Li.
277
278         Libcurl sometimes sends multiple status messages, we need to keep the last 
279         one in NetworkJob.
280         We originally had the m_statusReceived check, then we found out that libcurl 
281         sometimes sent additional 401 codes and added the 401 exception to the check, 
282         and now we're removing the whole check(so we don't need the exception either).
283
284         RIM PR# 163172
285         Reviewed internally by Joe Mason.
286
287         No new tests. This is caused by libcurl's multiple status messages.
288         So we don't need to write a test case for webkit.
289
290         * platform/network/blackberry/NetworkJob.cpp:
291         (WebCore::NetworkJob::handleNotifyStatusReceived):
292
293 2012-07-18  Kevin Ellis  <kevers@chromium.org>
294
295         TOUCH_ADJUSTMENT is too aggressive when snapping to large elements.
296         https://bugs.webkit.org/show_bug.cgi?id=91262
297
298         Reviewed by Antonio Gomes.
299
300         Constrains the extent to which the touch point can be adjusted when
301         generating synthetic mouse events when TOUCH_ADJUSTEMNT is enabled.
302         Previously, the target position snapped to the center of the target
303         element, which can be far removed from the touch position when tapping
304         on or near a large element.  The refined strategy is to leave the
305         adjusted position unchanged if tapping within the element or to snap
306         to the center of the overlap region if the touch point lies outside the
307         bounds of the element, but the touch area and element bounds overlap.
308         For non-rectilineary bounds, a point lying outside the element boundary
309         is pulled towards the center of the element, by an amount limited by
310         the radius of the touch area.
311
312         Tests: touchadjustment/big-div.html
313                touchadjustment/rotated-node.html
314
315         * page/TouchAdjustment.cpp:
316         (WebCore::TouchAdjustment::contentsToWindow):
317         (TouchAdjustment):
318         (WebCore::TouchAdjustment::snapTo):
319         (WebCore::TouchAdjustment::findNodeWithLowestDistanceMetric):
320
321 2012-07-18  Sergey Rogulenko  <rogulenko@google.com>
322
323         Web Inspector: adding pause icon for JavaScript debugging
324         https://bugs.webkit.org/show_bug.cgi?id=90880
325
326         Reviewed by Pavel Feldman.
327
328         Refactored DOMNodeHighlighter into InspectorOverlay class and added a feature to show a "pause" screen when
329         the Javascript debugger is paused.
330
331         * inspector/DOMNodeHighlighter.cpp:
332         (WebCore::InspectorOverlay::InspectorOverlay):
333         (WebCore::InspectorOverlay::paint):
334         (WebCore::InspectorOverlay::drawOutline):
335         (WebCore::InspectorOverlay::getHighlight):
336         (WebCore::InspectorOverlay::setPausedInDebugger):
337         (WebCore::InspectorOverlay::hideHighlight):
338         (WebCore):
339         (WebCore::InspectorOverlay::highlightNode):
340         (WebCore::InspectorOverlay::setHighlightData):
341         (WebCore::InspectorOverlay::clearHighlightData):
342         (WebCore::InspectorOverlay::highlightedNode):
343         (WebCore::InspectorOverlay::update):
344         (WebCore::InspectorOverlay::drawHighlight):
345         (WebCore::InspectorOverlay::drawPausedInDebugger):
346         * inspector/DOMNodeHighlighter.h:
347         (WebCore):
348         (InspectorOverlay):
349         (WebCore::InspectorOverlay::create):
350         * inspector/InspectorController.cpp:
351         (WebCore::InspectorController::InspectorController):
352         (WebCore::InspectorController::drawHighlight):
353         (WebCore::InspectorController::getHighlight):
354         (WebCore::InspectorController::highlightedNode):
355         * inspector/InspectorController.h:
356         (WebCore):
357         (InspectorController):
358         * inspector/InspectorDOMAgent.cpp:
359         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
360         (WebCore::InspectorDOMAgent::~InspectorDOMAgent):
361         (WebCore::InspectorDOMAgent::handleMousePress):
362         (WebCore::InspectorDOMAgent::mouseDidMoveOverElement):
363         (WebCore::InspectorDOMAgent::setSearchingForNode):
364         (WebCore::InspectorDOMAgent::setHighlightDataFromConfig):
365         (WebCore::InspectorDOMAgent::setInspectModeEnabled):
366         (WebCore::InspectorDOMAgent::highlightRect):
367         (WebCore::InspectorDOMAgent::highlightNode):
368         (WebCore::InspectorDOMAgent::highlightFrame):
369         (WebCore::InspectorDOMAgent::hideHighlight):
370         * inspector/InspectorDOMAgent.h:
371         (WebCore):
372         (WebCore::InspectorDOMAgent::create):
373         (InspectorDOMAgent):
374         * inspector/InspectorDebuggerAgent.h:
375         (InspectorDebuggerAgent):
376         * inspector/InspectorPageAgent.cpp:
377         (WebCore::InspectorPageAgent::create):
378         (WebCore::InspectorPageAgent::InspectorPageAgent):
379         (WebCore::InspectorPageAgent::didPaint):
380         * inspector/InspectorPageAgent.h:
381         (WebCore):
382         * inspector/PageDebuggerAgent.cpp:
383         (WebCore::PageDebuggerAgent::create):
384         (WebCore::PageDebuggerAgent::PageDebuggerAgent):
385         (WebCore::PageDebuggerAgent::disable):
386         (WebCore):
387         (WebCore::PageDebuggerAgent::didPause):
388         (WebCore::PageDebuggerAgent::didContinue):
389         * inspector/PageDebuggerAgent.h:
390         (WebCore):
391         (PageDebuggerAgent):
392
393 2012-07-17  Andrey Kosyakov  <caseq@chromium.org>
394
395         Web Inspector: intern strings when processing timeline records
396         https://bugs.webkit.org/show_bug.cgi?id=91531
397
398         Reviewed by Pavel Feldman.
399
400         - added StringPool that is capable of interning strings;
401         - used it in TimelineModel to process all incoming records;
402
403         * inspector/front-end/TimelineModel.js:
404         (WebInspector.TimelineModel):
405         (WebInspector.TimelineModel.prototype._addRecord):
406         (WebInspector.TimelineModel.prototype.reset):
407         * inspector/front-end/utilities.js:
408
409 2012-07-18  Scott Graham  <scottmg@chromium.org>
410
411         Use cl to preprocess IDL for Chromium Windows generate_supplemental_dependency
412         https://bugs.webkit.org/show_bug.cgi?id=91548
413
414         Reviewed by Kentaro Hara.
415
416         Use cl.exe as preprocessor for IDL files rather than cygwin gcc. Cuts
417         two minute execution time on Windows by a bit better than 50%.
418
419         No new tests.
420
421         * WebCore.gyp/WebCore.gyp:
422         * bindings/scripts/preprocessor.pm:
423         (applyPreprocessor):
424
425 2012-07-18  Pavel Feldman  <pfeldman@chromium.org>
426
427         Web Inspector: remove search replace from behind experiment, polish the behavior
428         https://bugs.webkit.org/show_bug.cgi?id=91519
429
430         Reviewed by Vsevolod Vlasov.
431
432         - This change makes replace loop with no boundary, removes the loop parameter
433           from jumpToNext/Previous;
434         - Lays out replace as a second row
435         - Fixes replace all with no search matches
436         - Splits Search and Search and Replace
437         - Introduces explicit Next / Previous buttons in the search mode
438         - Introduces editRange on the TextEditor so that it was preserving the undo stack
439           (we'll need to fix editor so that it does not require it).
440
441         * English.lproj/localizedStrings.js:
442         * inspector/front-end/ConsolePanel.js:
443         (WebInspector.ConsolePanel.prototype.performSearch):
444         (WebInspector.ConsolePanel.prototype.jumpToNextSearchResult):
445         (WebInspector.ConsolePanel.prototype.jumpToPreviousSearchResult):
446         * inspector/front-end/ElementsPanel.js:
447         (WebInspector.ElementsPanel.prototype.jumpToNextSearchResult):
448         (WebInspector.ElementsPanel.prototype.jumpToPreviousSearchResult):
449         * inspector/front-end/ExtensionPanel.js:
450         (WebInspector.ExtensionPanel.prototype.performSearch):
451         (WebInspector.ExtensionPanel.prototype.jumpToNextSearchResult):
452         (WebInspector.ExtensionPanel.prototype.jumpToPreviousSearchResult):
453         * inspector/front-end/JavaScriptSourceFrame.js:
454         (WebInspector.JavaScriptSourceFrame.prototype.beforeTextChanged):
455         * inspector/front-end/NetworkPanel.js:
456         (WebInspector.NetworkLogView.prototype.jumpToPreviousSearchResult):
457         (WebInspector.NetworkLogView.prototype.jumpToNextSearchResult):
458         (WebInspector.NetworkPanel.prototype.jumpToPreviousSearchResult):
459         (WebInspector.NetworkPanel.prototype.jumpToNextSearchResult):
460         * inspector/front-end/Panel.js:
461         (WebInspector.Panel.prototype.performSearch):
462         (WebInspector.Panel.prototype.jumpToNextSearchResult):
463         (WebInspector.Panel.prototype.jumpToPreviousSearchResult):
464         * inspector/front-end/ProfilesPanel.js:
465         (WebInspector.ProfilesPanel.prototype.jumpToNextSearchResult):
466         (WebInspector.ProfilesPanel.prototype.jumpToPreviousSearchResult):
467         * inspector/front-end/ResourcesPanel.js:
468         (WebInspector.ResourcesPanel.prototype.jumpToNextSearchResult):
469         (WebInspector.ResourcesPanel.prototype.jumpToPreviousSearchResult):
470         * inspector/front-end/ScriptsPanel.js:
471         (WebInspector.ScriptsPanel.prototype._editorClosed):
472         (WebInspector.ScriptsPanel.prototype._editorSelected):
473         (WebInspector.ScriptsPanel.prototype.performSearch.finishedCallback):
474         (WebInspector.ScriptsPanel.prototype.performSearch):
475         (WebInspector.ScriptsPanel.prototype.jumpToNextSearchResult):
476         (WebInspector.ScriptsPanel.prototype.jumpToPreviousSearchResult):
477         (WebInspector.ScriptsPanel.prototype.replaceSelectionWith):
478         (WebInspector.ScriptsPanel.prototype.replaceAllWith):
479         * inspector/front-end/SearchController.js:
480         (WebInspector.SearchController):
481         (WebInspector.SearchController.prototype.cancelSearch):
482         (WebInspector.SearchController.prototype.resetSearch):
483         (WebInspector.SearchController.prototype.handleShortcut):
484         (WebInspector.SearchController.prototype._updateSearchNavigationButtonState):
485         (WebInspector.SearchController.prototype._updateReplaceVisibility):
486         (WebInspector.SearchController.prototype._onKeyDown):
487         (WebInspector.SearchController.prototype._onNextButtonSearch):
488         (WebInspector.SearchController.prototype._onPrevButtonSearch):
489         (WebInspector.SearchController.prototype._performSearch):
490         (WebInspector.SearchController.prototype._updateReplaceDetailsVisibility):
491         (WebInspector.SearchController.prototype._replace):
492         (WebInspector.SearchController.prototype._replaceAll):
493         * inspector/front-end/Settings.js:
494         (WebInspector.ExperimentsSettings):
495         * inspector/front-end/SourceFrame.js:
496         (WebInspector.SourceFrame.prototype.beforeTextChanged):
497         (WebInspector.SourceFrame.prototype.performSearch.doFindSearchMatches):
498         (WebInspector.SourceFrame.prototype.performSearch):
499         (WebInspector.SourceFrame.prototype.replaceSearchMatchWith):
500         (WebInspector.SourceFrame.prototype.replaceAllWith):
501         (WebInspector.TextEditorDelegateForSourceFrame.prototype.beforeTextChanged):
502         * inspector/front-end/TextEditor.js:
503         (WebInspector.TextEditor.prototype.editRange):
504         * inspector/front-end/inspector.css:
505         (.toolbar-search-replace .search-replace):
506         (.toolbar-search):
507         (.toolbar-search-replace):
508         (.toolbar-search-close-button):
509         (.toolbar-search-close-button:hover):
510         (.toolbar-search-close-button:active):
511         (.toolbar-search input[type="checkbox"]):
512         (.toolbar-search-replace .toolbar-replace-control):
513
514 2012-07-18  YoungTaeck Song  <youngtaeck.song@samsung.com>
515
516         [WK2][EFL] Divide ENABLE(WEBGL) into ENABLE(WEBGL) and USE(3D_GRAPHICS) in CMakeLists.txt
517         https://bugs.webkit.org/show_bug.cgi?id=91584
518
519         Reviewed by Noam Rosenthal.
520
521         This patch is a subset of Efl's UI_SIDE_COMPOSITING implementation.
522         Modified CMakeLists.txt so that the basic 3D-graphics sources can be compiled even when WebGL is disabled.
523
524         * CMakeLists.txt:
525         * PlatformEfl.cmake:
526         * platform/graphics/GraphicsContext3D.h:
527         (GraphicsContext3D):
528         * platform/graphics/efl/GraphicsContext3DEfl.cpp:
529         (WebCore::GraphicsContext3D::platformGraphicsContext3D):
530
531 2012-07-18  Zoltan Horvath  <zoltan@webkit.org>
532
533         [Qt] Modify the using of the QImage::Format enum to the appropriate functions from NativeImageQt
534         https://bugs.webkit.org/show_bug.cgi?id=91600
535
536         Reviewed by Andreas Kling.
537
538         Use NativeImageQt::defaultFormatForAlphaEnabledImages() and NativeImageQt::defaultFormatForOpaqueImages()
539         instead of the direct imagetypes at the appropriate places.
540
541         Covered by existing tests.
542
543         * platform/graphics/qt/GraphicsContext3DQt.cpp:
544         (WebCore::GraphicsContext3D::paintToCanvas):
545         * platform/graphics/qt/PathQt.cpp:
546         (WebCore::scratchContext):
547         * platform/graphics/texmap/TextureMapperGL.cpp:
548         (WebCore::TextureMapperGL::drawRepaintCounter):
549         * platform/graphics/texmap/TextureMapperImageBuffer.cpp:
550         (WebCore::BitmapTextureImageBuffer::updateContents):
551
552 2012-07-18  Andrey Kosyakov  <caseq@chromium.org>
553
554         Web Inspector: create timeline detail records lazily
555         https://bugs.webkit.org/show_bug.cgi?id=91513
556
557         Reviewed by Pavel Feldman.
558
559         - only create timeline record details when these are used;
560
561         * inspector/front-end/TimelinePanel.js:
562         (WebInspector.TimelineRecordListRow.prototype.update):
563         * inspector/front-end/TimelinePresentationModel.js:
564         (WebInspector.TimelinePresentationModel.Record.prototype.generatePopupContent):
565         (WebInspector.TimelinePresentationModel.Record.prototype._refreshDetails):
566         (WebInspector.TimelinePresentationModel.Record.prototype.details):
567
568 2012-07-18  Simon Hausmann  <simon.hausmann@nokia.com>
569
570         [ANGLE] On QT, use Bison and Flex during ANGLE build
571         https://bugs.webkit.org/show_bug.cgi?id=91108
572
573         Reviewed by Kenneth Rohde Christiansen.
574
575         Add derived source generators for the two angle bison parsers and flex based lexers.
576
577         * DerivedSources.pri:
578         * Target.pri:
579
580 2012-07-18  Dominik Röttsches  <dominik.rottsches@intel.com>
581
582         [EFL][WK2] Too early assertion failure if default theme is not available
583         https://bugs.webkit.org/show_bug.cgi?id=91608
584
585         Reviewed by Kenneth Rohde Christiansen.
586
587         After bug 90107 we're setting a default theme path, which leads to a
588         themeChanged() call initializing edje in createEdje() - if that theme
589         path is not available we run into a premature assertion failure.
590         We need to give the embedder a chance to override the default theme path
591         before failing - so only the usages of m_edje should be guarded with assertions.
592
593         No new tests, no change in rendering behavior.
594
595         * platform/efl/RenderThemeEfl.cpp:
596         (WebCore::RenderThemeEfl::themePartCacheEntryReset): Adding an assertion to ensure m_edje is present - so that all usages of m_edje are now guarded.
597         (WebCore::RenderThemeEfl::createEdje): Not hitting assertion if theme path doesn't contain the theme object file, allowing the embedder to override with a new path.
598
599 2012-07-18  Vsevolod Vlasov  <vsevik@chromium.org>
600
601         IndexedDB: IDBLevelDBBackingStore compilation fails because of unused variable.
602         https://bugs.webkit.org/show_bug.cgi?id=91612
603
604         Reviewed by Pavel Feldman.
605
606         Replaced ASSERT with ASSERT_UNUSED.
607
608         * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
609         (WebCore::IDBLevelDBBackingStore::getObjectStores):
610
611 2012-07-18  Yoshifumi Inoue  <yosin@chromium.org>
612
613         REGRESSION(r117738) [Forms] Default step base should be 0 (=1970-01) for input type month
614         https://bugs.webkit.org/show_bug.cgi?id=91603
615
616         Reviewed by Kent Tamura.
617
618         This patch restores default step base value to 0 (=1970-01) as before
619         r117738.
620
621         No new tests. Existing test(fast/forms/month/month-stepup-stepdown-from-renderer.html)
622         covers this case, although it is disabled.
623
624         * html/MonthInputType.cpp:
625         (WebCore::MonthInputType::createStepRange): Changed default value of
626         step base to defaultMonthStepBase instead of DateComponents::minimumMonth().
627
628 2012-07-18  Ryuan Choi  <ryuan.choi@samsung.com>
629
630         [EFL] Cursor is not drawn when opengl_x11 backend is choosen.
631         https://bugs.webkit.org/show_bug.cgi?id=89142
632
633         Reviewed by Simon Hausmann.
634
635         If theme based cursor is not given, WebKit/Efl only uses Ecore_X based
636         cursor as a fallback after checked whether current engine is using EcoreX.
637         This patch adds opengl_x11 which is one of Ecore_X based engine in check
638         lists to draw fallback cursor.
639
640         * platform/efl/EflScreenUtilities.cpp:
641         (WebCore::isUsingEcoreX):
642
643 2012-07-18  Ryosuke Niwa  <rniwa@webkit.org>
644
645         REGRESSION(r122345): HTMLCollection::length() sometimes returns a wrong value
646         https://bugs.webkit.org/show_bug.cgi?id=91587
647
648         Reviewed by Benjamin Poulain.
649
650         The bug was caused by my douchey code that set the length cache to be the *offset*
651         of the last item in a HTMLCollection. Clearly, the length of a collection that contains
652         the last item at offset n is n + 1. Fixed that.
653
654         Also removed the call to setLengthCache in HTMLCollection::length since it must have set
655         by previous calls to itemBeforeOrAfterCachedItem already. This will allow us to catch
656         regressions like this in ports that use JSC bindings as well.
657
658         Test: fast/dom/htmlcollection-length-after-item.html
659
660         * html/HTMLCollection.cpp:
661         (WebCore::HTMLCollection::length):
662         (WebCore::HTMLCollection::itemBeforeOrAfterCachedItem):
663
664 2012-07-18  Yoshifumi Inoue  <yosin@chromium.org>
665
666         Decimal::toString should not round integer value.
667         https://bugs.webkit.org/show_bug.cgi?id=91481
668
669         Reviewed by Kent Tamura.
670
671         This patch makes Decimal::toString not to round an integer value
672         before converting string.
673
674         Tests: WebKit/chromium/tests/DecimalTest.cpp: DecimalTest.toString
675
676         * platform/Decimal.cpp:
677         (WebCore::Decimal::toString): When the value is an integer, we don't
678         round coefficient to be DBL_DIG(15) digits because double can
679         represent an integer without rounding error.
680
681 2012-07-18  Luke Macpherson   <macpherson@chromium.org>
682
683         Fix null pointer dereference introduced by Changeset 121874.
684         https://bugs.webkit.org/show_bug.cgi?id=91578
685
686         Reviewed by Pavel Feldman.
687
688         In http://trac.webkit.org/changeset/121874/trunk/Source/WebCore/inspector/InspectorStyleSheet.cpp I introduced code that
689         dereferences the return value of ownerDocument() without doing a null check. This was a bad idea.
690
691         No new tests. I don't have a repro case, but it is clear from reading the code for ownerDocument() that it can return null.
692
693         * inspector/InspectorStyleSheet.cpp:
694         (WebCore::InspectorStyleSheet::ensureSourceData):
695
696 2012-07-17  Yoshifumi Inoue  <yosin@chromium.org>
697
698         Decimal constructor with 99999999999999999 loses last digit
699         https://bugs.webkit.org/show_bug.cgi?id=91579
700
701         Reviewed by Kent Tamura.
702
703         This patch changes maximum coefficient value handling in Decimal::EncodedData
704         constructor not to lose the last digit. It was used ">=" operator for
705         comparison instead of ">" operator.
706
707         Tests: WebKit/chromium/tests/DecimalTest.cpp
708
709         * platform/Decimal.cpp:
710         (WebCore::Decimal::EncodedData::EncodedData): Replace ">=" to ">" for
711         not getting rid of the last digit for maximum coefficient value.
712
713 2012-07-17  Ilya Tikhonovsky  <loislo@chromium.org>
714
715         Unreviewed Web Inspector: followup fix for r122920.
716
717         Add collected Loaders size to InspectorMemoryBlock
718
719         * inspector/InspectorMemoryAgent.cpp:
720         (MemoryBlockName):
721         (WebCore):
722
723 2012-07-17  Ilya Tikhonovsky  <loislo@chromium.org>
724
725         Web Inspector: show loaders memory consumption on the memory chart.
726         https://bugs.webkit.org/show_bug.cgi?id=90686
727
728         Reviewed by Pavel Feldman.
729
730         Size of FrameLoader, DocumentLoader, ResourceLoader and their resources should be shown on the memory pie chart.
731
732         It is covered by existing WebInspector performance tests infrastructure.
733
734         * WebCore.exp.in:
735         * dom/MemoryInstrumentation.h:
736         (MemoryInstrumentation):
737         (WebCore::MemoryInstrumentation::addRawBuffer):
738         (WebCore::MemoryInstrumentation::addInstrumentedMemberImpl):
739         (WebCore):
740         (WebCore::MemoryClassInfo::addInstrumentedHashSet):
741         (WebCore::MemoryClassInfo::addRawBuffer):
742         (WebCore::MemoryInstrumentation::addInstrumentedHashSet):
743         (WebCore::MemoryInstrumentation::addVector):
744         * inspector/InspectorMemoryAgent.cpp:
745         (WebCore):
746         (WebCore::domTreeInfo):
747         * loader/DocumentLoader.cpp:
748         (WebCore::DocumentLoader::reportMemoryUsage):
749         (WebCore):
750         * loader/DocumentLoader.h:
751         (WebCore):
752         (DocumentLoader):
753         * loader/FrameLoader.cpp:
754         (WebCore::FrameLoader::reportMemoryUsage):
755         (WebCore):
756         * loader/FrameLoader.h:
757         (WebCore):
758         (FrameLoader):
759         * loader/ResourceLoader.cpp:
760         (WebCore::ResourceLoader::reportMemoryUsage):
761         (WebCore):
762         * loader/ResourceLoader.h:
763         (WebCore):
764         (ResourceLoader):
765         * page/Frame.cpp:
766         (WebCore::Frame::reportMemoryUsage):
767         (WebCore):
768         * page/Frame.h:
769         (WebCore):
770         (Frame):
771         * platform/SharedBuffer.cpp:
772         (WebCore::SharedBuffer::reportMemoryUsage):
773         (WebCore):
774         * platform/SharedBuffer.h:
775         (WebCore):
776         (SharedBuffer):
777
778 2012-07-17  Kent Tamura  <tkent@chromium.org>
779
780         Fix an assertion failure in CalendarPickerElement::hostInput().
781         https://bugs.webkit.org/show_bug.cgi?id=91568
782
783         Reviewed by Hajime Morita.
784
785         Test: fast/forms/date/calendar-picker-type-change-onclick.html
786
787         * html/shadow/CalendarPickerElement.cpp:
788         (WebCore::CalendarPickerElement::defaultEventHandler):
789         It's possible that this function is called when the element is detached
790         from the document tree.
791
792 2012-07-17  Kent Tamura  <tkent@chromium.org>
793
794         Form state: Make a new class handling HashMap<FormElementKey, Deque<>>
795         https://bugs.webkit.org/show_bug.cgi?id=91480
796
797         Reviewed by Hajime Morita.
798
799         This is a preparation of Bug 91209, "Form state restore: Need to
800         identify a from by its content."
801
802         Make a new class which is responsible to handle "HashMap<FormElementKey,
803         Deque<FormControlState>, FormElementKeyHash, FormElementKeyHashTraits>."
804         Also, move the FormElementKey class declaration and related structs from
805         FormController.h to FormController.cpp because FormElementKey is used
806         only in FormController.cpp.
807
808         No new tests. Just a refactoring.
809
810         * html/FormController.cpp:
811         (WebCore::FormElementKey): Moeved from FormController.h.
812         (WebCore::FormElementKey::FormElementKey):
813         Moved from the bottom of FormController.cpp
814         (WebCore::FormElementKey::~FormElementKey): ditto.
815         (WebCore::FormElementKey::operator=): ditto.
816         (WebCore::FormElementKey::ref): ditto.
817         (WebCore::FormElementKey::deref): ditto.
818         (WebCore::operator==): Moved from FormController.h
819         (FormElementKeyHash): ditto.
820         (WebCore::FormElementKeyHash::equal): ditto.
821         (WebCore::FormElementKeyHash::hash):
822         Moved from the bottom of FormController.cpp
823         (WebCore::FormElementKeyHashTraits::constructDeletedValue):
824         Moved from FormController.h
825         (WebCore::FormElementKeyHashTraits::isDeletedValue): ditto.
826
827         (WebCore::SavedFormState): Added.
828         (WebCore::SavedFormState::isEmpty):
829         (WebCore::SavedFormState::SavedFormState): Added. The constructor.
830         (WebCore::SavedFormState::create): Added. A factory function.
831         (WebCore::SavedFormState::appendControlState):
832         Moved some code from FormController::setStateForNewFormElements.
833         (WebCore::SavedFormState::takeControlState):
834         Moved some code from FormController::takeStateForFormElement.
835
836         (WebCore::FormController::setStateForNewFormElements):
837         - Creates SavedFormState if needed.
838         - Uses SavedFormState::appendControlState.
839         (WebCore::FormController::takeStateForFormElement):
840         Uses SavedFormState.
841         * html/FormController.h:
842         (FormController):
843
844 2012-07-17  MORITA Hajime <morrita@google.com>
845
846         [Shadow DOM] Some distribution invalidation can drop necessary reattachment.
847         https://bugs.webkit.org/show_bug.cgi?id=88843
848
849         Reviewed by Dimitri Glazkov.
850
851         Following scenario caused this problem:
852
853         - Inserting a Text node as a shadow child triggers invalidateDistribution(),
854           which doen't reattach the shadow's host element.
855         - Then inserting a <content> element after that triggers another invalidateDistribution(),
856           which should reattach its host because <content> can affect not only distribution of new nodes,
857           but also existing distribution.
858         - Since the first invalidateDistribution() has marked the distribution as invalidated,
859           the second invalidateDistribution() call returns early without any reattachment,
860           even though it needs one.
861
862         This change adds InvalidationType parameter to invalidateDistribution(), which asks ElementShadow to
863         reattach the host regardless of its validity state. InsertionPoint::insertedInto() uses
864         this flag to ensure that its insertion always results a reattachment.
865
866         Test: fast/dom/shadow/content-after-style.html
867
868         * dom/ElementShadow.cpp:
869         (WebCore::ElementShadow::addShadowRoot): Passes InvalidationType.
870         (WebCore::ElementShadow::removeAllShadowRoots): Passes InvalidationType.
871         (WebCore::ElementShadow::invalidateDistribution): Added a InvalidationType parameter.
872         * dom/ElementShadow.h:
873         * html/shadow/InsertionPoint.cpp:
874         (WebCore::InsertionPoint::insertedInto): Passes InvalidationType.
875
876 2012-07-17  Jon Lee  <jonlee@apple.com>
877
878         Teach CodeGenerator to support for static, readonly, attributes
879         https://bugs.webkit.org/show_bug.cgi?id=88920
880         <rdar://problem/11650330>
881
882         Reviewed by Oliver Hunt.
883
884         Update the parser to be able to accept the static keyword for attribute. We will treat static attributes
885         like custom static functions. They call the implementing class directly, and pass in the ExecState as a script context.
886
887         * bindings/scripts/CodeGeneratorJS.pm:
888         (GetAttributeGetterName): Factor out the construction of the attribute getter function name.
889         (GetAttributeSetterName): Factor out the construction of the attribute setter function name.
890         (GenerateHeader): Determine that a class has read-write properties only if there is a read-write attribute that
891         is not static.
892         (GenerateAttributesHashTable): Skip static attributes in the object hash table. They will be added to the constructor
893         hash table.
894         (GenerateImplementation): Look for static attributes to add to the constructor hash table. Make a call to the static
895         function in the class.
896         * bindings/scripts/IDLParser.pm:
897         (ParseInterface): Update the processing because of the regex change.
898         * bindings/scripts/IDLStructure.pm: Update the attribute regex.
899         * bindings/scripts/test/JS/JSTestObj.cpp: Update test results.
900         * bindings/scripts/test/JS/JSTestObj.h: Update test results.
901         * bindings/scripts/test/TestObj.idl: Add test cases.
902
903 2012-07-17  Kenichi Ishibashi  <bashi@chromium.org>
904
905         [Chromium] Rename HarfBuzzFace to HarfBuzzNGFace
906         https://bugs.webkit.org/show_bug.cgi?id=91458
907
908         Reviewed by Tony Chang.
909
910         There are HarfbuzzFace class (for old-harfbuzz) and HarfBuzzFace (for harfbuzz-ng) class. The difference is too subtle. Make them more distinct.
911
912         No new tests. No changes in behavior.
913
914         * WebCore.gyp/WebCore.gyp: Rename HarfBuzzFace to HarfBuzzNGFace.
915         * WebCore.gypi: Ditto.
916         * platform/graphics/FontPlatformData.h: Ditto.
917         (FontPlatformData):
918         * platform/graphics/cocoa/FontPlatformDataCocoa.mm: Ditto.
919         (WebCore::FontPlatformData::harfbuzzFace):
920         * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp: Ditto.
921         (WebCore::FontPlatformData::harfbuzzFace):
922         * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.h: Ditto.
923         (FontPlatformData):
924         * platform/graphics/harfbuzz/ng/HarfBuzzNGFaceCoreText.cpp: Renamed from Source/WebCore/platform/graphics/harfbuzz/ng/HarfBuzzFaceCoreText.cpp.
925         (WebCore):
926         (WebCore::floatToHarfBuzzPosition):
927         (WebCore::getGlyph):
928         (WebCore::getGlyphHorizontalAdvance):
929         (WebCore::getGlyphHorizontalOrigin):
930         (WebCore::getGlyphExtents):
931         (WebCore::harfbuzzCoreTextGetFontFuncs):
932         (WebCore::releaseTableData):
933         (WebCore::harfbuzzCoreTextGetTable):
934         (WebCore::HarfBuzzNGFace::createFace):
935         (WebCore::HarfBuzzNGFace::createFont):
936         (WebCore::HarfBuzzShaper::createGlyphBufferAdvance):
937         * platform/graphics/harfbuzz/ng/HarfBuzzNGFaceSkia.cpp: Renamed from Source/WebCore/platform/graphics/harfbuzz/ng/HarfBuzzFaceSkia.cpp.
938         (WebCore):
939         (WebCore::SkiaScalarToHarfbuzzPosition):
940         (WebCore::SkiaGetGlyphWidthAndExtents):
941         (WebCore::harfbuzzGetGlyph):
942         (WebCore::harfbuzzGetGlyphHorizontalAdvance):
943         (WebCore::harfbuzzGetGlyphHorizontalOrigin):
944         (WebCore::harfbuzzGetGlyphExtents):
945         (WebCore::harfbuzzSkiaGetFontFuncs):
946         (WebCore::harfbuzzSkiaGetTable):
947         (WebCore::destroyPaint):
948         (WebCore::HarfBuzzNGFace::createFace):
949         (WebCore::HarfBuzzNGFace::createFont):
950         (WebCore::HarfBuzzShaper::createGlyphBufferAdvance):
951         * platform/graphics/harfbuzz/ng/HarfBuzzNGFace.cpp: Renamed from Source/WebCore/platform/graphics/harfbuzz/ng/HarfBuzzFace.cpp.
952         (WebCore):
953         (WebCore::harfbuzzFaceCache):
954         (WebCore::HarfBuzzNGFace::HarfBuzzNGFace):
955         (WebCore::HarfBuzzNGFace::~HarfBuzzNGFace):
956         * platform/graphics/harfbuzz/ng/HarfBuzzNGFace.h: Renamed from Source/WebCore/platform/graphics/harfbuzz/ng/HarfBuzzFace.h.
957         (WebCore):
958         (HarfBuzzNGFace):
959         (WebCore::HarfBuzzNGFace::create):
960         * platform/graphics/harfbuzz/ng/HarfBuzzShaper.cpp:
961         (WebCore::HarfBuzzShaper::shapeHarfBuzzRuns):
962
963 2012-07-17  Kinuko Yasuda  <kinuko@chromium.org>
964
965         Record metrics to measure the usage of Blob([ArrayBuffer]) to eventually deprecate it
966         https://bugs.webkit.org/show_bug.cgi?id=90534
967
968         Reviewed by Jian Li.
969
970         We are removing ArrayBuffer support in Blob constructor (in favor of
971         ArrayBufferView) but before doing that we should record its use relative to ArrayBufferView.
972         http://dev.w3.org/2006/webapi/FileAPI/#dfn-Blob
973
974         No new tests as this has no functional changes.
975
976         * fileapi/WebKitBlobBuilder.cpp:
977         (WebCore::WebKitBlobBuilder::append):
978
979 2012-07-17  Joshua Bell  <jsbell@chromium.org>
980
981         IndexedDB: Key generator state not maintained across connections
982         https://bugs.webkit.org/show_bug.cgi?id=91456
983
984         Reviewed by Tony Chang.
985
986         Explicitly store key generator state for each object store in the backing store,
987         rather than deriving it from the maximum key in the data (which violates the spec
988         if data is deleted).
989
990         This change eliminates a (fragile) per-store cache of the value to simplify the
991         code. A cache could be re-introduced, requiring an "onbeforecommit" hook for
992         object stores, but it seems cleaner to save that for a follow-up patch.
993
994         Test: storage/indexeddb/key-generator.html
995
996         * Modules/indexeddb/IDBBackingStore.h: New APIs for getting/setting generator states.
997         (IDBBackingStore):
998         * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
999         (WebCore::IDBLevelDBBackingStore::getObjectStores): Read generator state (but currently ignored).
1000         (WebCore::IDBLevelDBBackingStore::createObjectStore): Write generator state.
1001         (WebCore):
1002         (WebCore::IDBLevelDBBackingStore::getKeyGeneratorCurrentNumber):
1003         (WebCore::IDBLevelDBBackingStore::maybeUpdateKeyGeneratorCurrentNumber): Update, optionally
1004         checking to see if the new value is greater than the old. (If caller got the value via
1005         getKeyGeneratorCurrentNumber it is safe to skip the check.)
1006         * Modules/indexeddb/IDBLevelDBBackingStore.h:
1007         (IDBLevelDBBackingStore):
1008         * Modules/indexeddb/IDBLevelDBCoding.cpp:
1009         * Modules/indexeddb/IDBLevelDBCoding.h:
1010         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
1011         (WebCore::IDBObjectStoreBackendImpl::IDBObjectStoreBackendImpl): Ditch the cache.
1012         (WebCore::IDBObjectStoreBackendImpl::put): No need for abort task.
1013         (WebCore::IDBObjectStoreBackendImpl::putWithIndexKeys): Ditto.
1014         (WebCore::IDBObjectStoreBackendImpl::putInternal): Use the newfangled APIs below.
1015         (WebCore::IDBObjectStoreBackendImpl::generateKey):
1016         (WebCore::IDBObjectStoreBackendImpl::updateKeyGenerator):
1017         * Modules/indexeddb/IDBObjectStoreBackendImpl.h:
1018         (IDBObjectStoreBackendImpl):
1019
1020 2012-07-17  Joshua Bell  <jsbell@chromium.org>
1021
1022         IndexedDB: Key generator state not maintained across connections
1023         https://bugs.webkit.org/show_bug.cgi?id=91456
1024
1025         Reviewed by Tony Chang.
1026
1027         Explicitly store key generator state for each object store in the backing store,
1028         rather than deriving it from the maximum key in the data (which violates the spec
1029         if data is deleted).
1030
1031         This change eliminates a (fragile) per-store cache of the value to simplify the
1032         code. A cache could be re-introduced, requiring an "onbeforecommit" hook for
1033         object stores, but it seems cleaner to save that for a follow-up patch.
1034
1035         Test: storage/indexeddb/key-generator.html
1036
1037         * Modules/indexeddb/IDBBackingStore.h: New APIs for getting/setting generator states.
1038         (IDBBackingStore):
1039         * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
1040         (WebCore::IDBLevelDBBackingStore::getObjectStores): Read generator state (but currently ignored).
1041         (WebCore::IDBLevelDBBackingStore::createObjectStore): Write generator state.
1042         (WebCore):
1043         (WebCore::IDBLevelDBBackingStore::getKeyGeneratorCurrentNumber):
1044         (WebCore::IDBLevelDBBackingStore::maybeUpdateKeyGeneratorCurrentNumber): Update, optionally
1045         checking to see if the new value is greater than the old. (If caller got the value via
1046         getKeyGeneratorCurrentNumber it is safe to skip the check.)
1047         * Modules/indexeddb/IDBLevelDBBackingStore.h:
1048         (IDBLevelDBBackingStore):
1049         * Modules/indexeddb/IDBLevelDBCoding.cpp:
1050         * Modules/indexeddb/IDBLevelDBCoding.h:
1051         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
1052         (WebCore::IDBObjectStoreBackendImpl::IDBObjectStoreBackendImpl): Ditch the cache.
1053         (WebCore::IDBObjectStoreBackendImpl::put): No need for abort task.
1054         (WebCore::IDBObjectStoreBackendImpl::putWithIndexKeys): Ditto.
1055         (WebCore::IDBObjectStoreBackendImpl::putInternal): Use the newfangled APIs below.
1056         (WebCore::IDBObjectStoreBackendImpl::generateKey):
1057         (WebCore::IDBObjectStoreBackendImpl::updateKeyGenerator):
1058         * Modules/indexeddb/IDBObjectStoreBackendImpl.h:
1059         (IDBObjectStoreBackendImpl):
1060
1061 2012-07-17  Alec Flett  <alecflett@chromium.org>
1062
1063         IndexedDB: createIndex should throw INVALID_ACCESS_ERR instead of NOT_SUPPORTED_ERR
1064         https://bugs.webkit.org/show_bug.cgi?id=91553
1065
1066         Reviewed by Tony Chang.
1067
1068         Update createIndex to throw an INVALID_ACCESS_ERR
1069         as per the IndexedDB spec.
1070
1071         No new tests: existing tests have been updated
1072
1073         * Modules/indexeddb/IDBDatabaseException.cpp:
1074         (WebCore):
1075         * Modules/indexeddb/IDBDatabaseException.h:
1076         * Modules/indexeddb/IDBObjectStore.cpp:
1077         (WebCore::IDBObjectStore::createIndex):
1078
1079 2012-07-17  Adam Barth  <abarth@webkit.org>
1080
1081         DragImageChromiumMac.cpp is never compiled and can be removed
1082         https://bugs.webkit.org/show_bug.cgi?id=91545
1083
1084         Reviewed by Tony Chang.
1085
1086         This file would only be compiled on chromium-mac, but it's excluded
1087         from that build. This is likely left over from the CG configuration.
1088
1089         * WebCore.gyp/WebCore.gyp:
1090         * WebCore.gypi:
1091         * platform/chromium/DragImageChromiumMac.cpp: Removed.
1092
1093 2012-07-17  Roger Fong  <roger_fong@apple.com>
1094
1095         Assertion failure/crash on Windows when using a font in an SVG 
1096         element with an unresaonbly large font size
1097         https://bugs.webkit.org/show_bug.cgi?id=91273
1098         Radar: <rdar://problem/8355401>
1099
1100         Reviewed by Tim Horton.
1101
1102         When using a font in an SVG element with an unreasonably large 
1103         font size in Windows, WebKit crashes. The problem has to do with 
1104         font sizes overflowing into negative values in the Windows specific code.
1105         The fix is to cap the font sizes to something reasonable when the font style is getting processed. 
1106         The fix will apply to both CSS and SVG so that behaviour is consistent.
1107
1108         Test: svg/text/font-size-too-large-crash.svg
1109
1110         * css/StyleBuilder.cpp:
1111         (WebCore::ApplyPropertyFontSize::applyValue):
1112         This is where the font size capping now occurs. Caps size to 1000000.
1113         Both CSS and SVG reach the font size capping code here.
1114         
1115         * css/StyleResolver.cpp:
1116         (WebCore::StyleResolver::collectMatchingRulesForList):
1117         Capping here removed, moved to StyleBuilder.cpp.
1118
1119 2012-07-17  David Barr  <davidbarr@chromium.org>
1120
1121         Add parsing and style application for css3-images image-orientation
1122         https://bugs.webkit.org/show_bug.cgi?id=89624
1123
1124         Reviewed by Tony Chang.
1125
1126         The css3-images module is at candidate recommendation.
1127         http://www.w3.org/TR/2012/CR-css3-images-20120417/#the-image-orientation
1128
1129         Test: fast/css/image-orientation/image-orientation.html
1130
1131         * css/CSSComputedStyleDeclaration.cpp: Add computed style for image-orientation.
1132         (WebCore): Add CSSPropertyImageOrientation to computedProperties.
1133         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Map CSSPropertyImageOrientation using cast operator from PrimitiveValueMappings.
1134         * css/CSSParser.cpp: Add parsing rule for image-orientation.
1135         (WebCore::CSSParser::parseValue): Parse the value of CSSPropertyImageOrientation as an angle.
1136         * css/CSSPrimitiveValueMappings.h: Add mappings between CSSPrimitiveValue and ImageOrientationEnum.
1137         (WebCore): Add conditional include for ImageOrientation.h.
1138         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Map the natural orientations to angles.
1139         (WebCore::CSSPrimitiveValue::operator ImageOrientationEnum): Round angles away from zero to quarter turns and map to the natural orientations.
1140         * css/CSSProperty.cpp: Add CSSPropertyImageOrientation.
1141         (WebCore::CSSProperty::isInheritedProperty): Map CSSPropertyImageOrientation inherited.
1142         * css/CSSPropertyNames.in: Add image-orientation.
1143         * css/StyleBuilder.cpp: Add style application logic for CSSPropertyImageOrientation.
1144         (WebCore::StyleBuilder::StyleBuilder): Map CSSPropertyImageOrientation to RenderStyle::imageOrientation with type ImageOrientationEnum.
1145         * css/StyleResolver.cpp: Handle CSSPropertyImageOrientation.
1146         (WebCore::StyleResolver::applyProperty): Expect CSSPropertyImageOrientation to be handled by StyleBuilder.
1147         * rendering/style/RenderStyle.h: Add imageOrientation, setImageOrientation and initialImageOrientation.
1148         * rendering/style/StyleRareInheritedData.cpp: Add m_imageOrientation.
1149         (WebCore::StyleRareInheritedData::StyleRareInheritedData): Add m_imageOrientation to default and copy contructors.
1150         (WebCore::StyleRareInheritedData::operator==): Include m_imageOrientation in comparison.
1151         * rendering/style/StyleRareInheritedData.h: Add m_imageOrientation.
1152         (StyleRareInheritedData): Add 4-bit field m_imageOrientation, mapping to ImageOrientationEnum.
1153
1154 2012-07-17  Adrienne Walker  <enne@google.com>
1155
1156         REGRESSION(r122215) - RenderObject::willRenderImage crashes on null view()
1157         https://bugs.webkit.org/show_bug.cgi?id=91525
1158
1159         Reviewed by Julien Chaffraix.
1160
1161         Fix by doing an early out check.  This is intended to fix the crash in
1162         http://crbug.com/137161.
1163
1164         No new test, because unfortunately a layout test is ill-suited to
1165         reproing this kind of Document creation/destruction bug.
1166
1167         * rendering/RenderObject.cpp:
1168         (WebCore::RenderObject::willRenderImage):
1169
1170 2012-07-17  Emil A Eklund  <eae@chromium.org>
1171
1172         vertical-align: middle causes overflow with subpixel layout
1173         https://bugs.webkit.org/show_bug.cgi?id=91464
1174
1175         Reviewed by Eric Seidel.
1176
1177         Using vertical-align: middle in combination with an overflow value other
1178         than visible can cause the overflow height to be computed incorrectly.
1179
1180         Test: fast/sub-pixel/vertical-align-middle-overflow.html
1181
1182         * rendering/RootInlineBox.cpp:
1183         (WebCore::RootInlineBox::verticalPositionForBox):
1184         Round verticalPosition after calculation instead of flooring the result
1185         of the xHeight calculation. By flooring it the resulting value is in
1186         effect rounded up which can cause the height of the box to grow by one.
1187         By rounding the resulting value thevertical position is more accurate and
1188         the off by one error is avoided.
1189
1190 2012-07-17  Philip Rogers  <pdr@google.com>
1191
1192         Move zero-length-subpaths from RenderSVGShape to RenderSVGPath
1193         https://bugs.webkit.org/show_bug.cgi?id=90716
1194
1195         Reviewed by Nikolas Zimmermann.
1196
1197         Previously zero-length-subpath code was present in RenderSVGShape but it is
1198         only needed in RenderSVGPath. This patch moves the zero-length-subpath code
1199         to RenderSVGPath.
1200
1201         In this change, we gain:
1202         1) Ellipses, Circles, and Rects will no longer carry an empty Vector nor
1203            checks for zero-length subpaths which (per the spec) they cannot have.
1204         2) RenderSVGShape, the superclass of all shape rendering, has been
1205            drastically simplified by removing 70 lines of code that only applies
1206            to Path rendering. This generally aids in code understandability.
1207
1208         The patch is primarily a straightforward code move but useStrokeStyleToFill
1209         needs further explanation:
1210         Zero-length-subpaths are drawn using rectangular and circular paths which
1211         are filled.
1212         Previously in RenderSVGShape::fillAndStrokePath, strokePath was called for
1213         the main path with ApplyToStrokeMode and then strokePath was called for
1214         each zero-length-subpath with ApplyToFillMode.
1215         ApplyToFillMode had the effect of setting the context's stroke style to
1216         the fill style so zero-length-subpaths were "filled" with the stroke style.
1217         After this patch, the context is only setup once (which is faster!) using
1218         ApplyToStrokeMode so we manually set the stroke style to the fill style
1219         using useStrokeStyleToFill.
1220
1221         No new tests, just a refactoring.
1222
1223         * rendering/svg/RenderSVGPath.cpp:
1224         (WebCore::RenderSVGPath::updateShapeFromElement):
1225         (WebCore):
1226         (WebCore::RenderSVGPath::calculateUpdatedStrokeBoundingBox):
1227         (WebCore::useStrokeStyleToFill):
1228         (WebCore::RenderSVGPath::strokeShape):
1229         (WebCore::RenderSVGPath::shapeDependentStrokeContains):
1230         (WebCore::RenderSVGPath::shouldStrokeZeroLengthSubpath):
1231         (WebCore::RenderSVGPath::zeroLengthLinecapPath):
1232         (WebCore::RenderSVGPath::zeroLengthSubpathRect):
1233         (WebCore::RenderSVGPath::updateZeroLengthSubpaths):
1234         * rendering/svg/RenderSVGPath.h:
1235         (RenderSVGPath):
1236         * rendering/svg/RenderSVGShape.cpp:
1237         (WebCore::RenderSVGShape::updateShapeFromElement):
1238         (WebCore::RenderSVGShape::strokeShape):
1239         (WebCore::RenderSVGShape::strokeContains):
1240         (WebCore):
1241         (WebCore::RenderSVGShape::fillShape):
1242         (WebCore::RenderSVGShape::fillAndStrokeShape):
1243         (WebCore::RenderSVGShape::paint):
1244         (WebCore::RenderSVGShape::calculateStrokeBoundingBox):
1245         * rendering/svg/RenderSVGShape.h:
1246         (WebCore::RenderSVGShape::hasPath):
1247         (WebCore::RenderSVGShape::hasNonScalingStroke):
1248         (RenderSVGShape):
1249         (WebCore::RenderSVGShape::strokeBoundingBox):
1250
1251 2012-07-17  Ryosuke Niwa  <rniwa@webkit.org>
1252
1253         invalidateNodeListCachesInAncestors walks up ancestors even when an attribute that doesn't invalidate node lists changes
1254         https://bugs.webkit.org/show_bug.cgi?id=91530
1255
1256         Reviewed by Ojan Vafai.
1257
1258         The bug was caused by invalidateNodeListCachesInAncestors not calling Document::shouldInvalidateNodeListCaches with
1259         attrName. Done that.
1260         
1261         This chance revealed a bug in shouldInvalidateTypeOnAttributeChange that we weren't checking form attribute changes for
1262         RadioNodeList and HTMLCollection, so fixed the bug.
1263
1264         Also renamed Document::clearNodeListCaches to invalidateNodeListCaches to match the name convention used elsewhere,
1265         and added a new version of DynamicNodeListCacheBase::invalidateCache that takes attrName to reduce the code duplication.
1266
1267         Test: fast/forms/elements-invalidate-on-form-attribute-invalidation.html
1268
1269         * dom/Document.cpp:
1270         (WebCore::Document::invalidateNodeListCaches):
1271         * dom/Document.h:
1272         (Document):
1273         * dom/DynamicNodeList.h:
1274         (WebCore::DynamicNodeListCacheBase::invalidateCache):
1275         (WebCore::DynamicNodeListCacheBase::shouldInvalidateTypeOnAttributeChange):
1276         * dom/Node.cpp:
1277         (WebCore::Node::invalidateNodeListCachesInAncestors):
1278         (WebCore::NodeListsNodeData::invalidateCaches):
1279
1280 2012-07-17  Max Vujovic  <mvujovic@adobe.com>
1281
1282         Update ANGLE in WebKit
1283         https://bugs.webkit.org/show_bug.cgi?id=89039
1284
1285         Reviewed by Dean Jackson and Mark Rowe.
1286
1287         Update ANGLE to r1170, with the following modifications:
1288
1289         (1) Use Bison 2.3 instead of Bison 2.4.2 to generate ExpressionParser.cpp and
1290         glslang_tab.cpp. I had to modify ExpressionParser.y to make it compatible with Bison
1291         2.3. The changes have been contributed back to ANGLE in r1224.
1292
1293         (2) Continue to recognize QNX as POSIX in ANGLE. This has been contributed back to ANGLE
1294         in r1223.
1295
1296         (3) Rename ANGLE/src/compiler/preprocessor/new/Diagnostic.cpp to DiagnosticBase.cpp.
1297         Rename ANGLE/src/compiler/preprocessor/new/DirectiveHandler.cpp to DirectiveHandlerBase.cpp.
1298
1299         With the introduction of ANGLE's new preprocessor, there were two files named Diagnostic.cpp
1300         in ANGLE under different folders. This caused problems on the QT build when their object
1301         files, both named Diagnostic.o, tried to go in the same folder. Renaming one of them to
1302         DiagnosticBase.cpp avoids this conflict. The same situation occurred with
1303         DirectiveHandler.cpp. I will work on contributing this change back to ANGLE for future
1304         updates.
1305
1306         (4) Add the following lines to glslang.y and ExpressionParser.y:
1307         #define YYENABLE_NLS 0
1308         #define YYLTYPE_IS_TRIVIAL 1
1309
1310         Bison 2.3 doesn't first check that these macros are defined before reading their value,
1311         which causes the QT build to fail.
1312
1313         We work around this issue in the same way in CSSGrammar.y.
1314
1315         I will work on contributing this change back to ANGLE.
1316
1317         No new tests. No change in behavior.
1318
1319         * CMakeLists.txt:
1320         * GNUmakefile.list.am:
1321         * Target.pri:
1322
1323 2012-07-17  Stephen Chenney  <schenney@chromium.org>
1324
1325         Crash in SVGStopElement::stopColorIncludingOpacity
1326         https://bugs.webkit.org/show_bug.cgi?id=90814
1327
1328         Reviewed by Dirk Schulze.
1329
1330         No new tests as there should be no change in functionality.
1331
1332         * svg/SVGStopElement.cpp:
1333         (WebCore::SVGStopElement::stopColorIncludingOpacity): Added a check for null
1334         renderer and style. It is hard to see how this is happening because
1335         the code is only invoked if the parent gradient has a renderer, and it seems
1336         the stop element should always have a renderer when the parent has a renderer.
1337         Still, it obviously can happen and does so frequently enough to generate multiple
1338         Chromium crash reports per day. The fix is marked with a FIXME, as we expect to
1339         remove this code entirely soon.
1340
1341 2012-07-17  Emil A Eklund  <eae@chromium.org>
1342
1343         Incorrect offset used for scrollWidth/Height calculation
1344         https://bugs.webkit.org/show_bug.cgi?id=91461
1345
1346         Reviewed by Eric Seidel.
1347
1348         Due to a different offset being used to calculate the scrollWidth/Height
1349         and pixelSnappedClientWidth/Height the scroll value can be off by one in
1350         same cases. This can causes scrollbars to appear even when there is no
1351         overflow.
1352
1353         Test: fast/sub-pixel/block-with-margin-overflow.html
1354
1355         * rendering/RenderBox.cpp:
1356         (WebCore::RenderBox::scrollWidth):
1357         Change location offset passed to snapSizeToPixel to include x() to match
1358         offset used by pixelSnappedClientWidth.
1359         
1360         (WebCore::RenderBox::scrollHeight):
1361         Change location offset passed to snapSizeToPixel to include y() to match
1362         offset used by pixelSnappedClientHeight.
1363
1364         * rendering/RenderLayer.cpp:
1365         (WebCore::RenderLayer::clampScrollOffset):
1366         Change calculation to use pixelSnappedClientWidth/Height as it is
1367         subtracted from the pixel snapped scrollWidth/Height values.
1368         
1369         (WebCore::RenderLayer::scrollWidth):
1370         (WebCore::RenderLayer::scrollHeight):
1371         Change RenderLayer versions of scrollWidth/Height to include x()/y() as
1372         per the RenderBox versions.
1373
1374 2012-07-17  Hans Muller  <hmuller@adobe.com>
1375
1376         Rename CSS Exclusions CSSWrapShape class properties to match Exclusion shape function parameters
1377         https://bugs.webkit.org/show_bug.cgi?id=89669
1378
1379         Reviewed by Dirk Schulze.
1380
1381         Renamed left,top properties in the exclusion shape types to better match the specification
1382         http://dev.w3.org/csswg/css3-exclusions/#shapes-from-svg-syntax:
1383
1384         WrapShapeRectangle, CSSWrapShapeRectangle - left,top should be x, y
1385         WrapShapeCircle, CSSWrapShapeCircle - left,top should be centerX, centerY
1386         WrapShapeEllipse, CSSWrapShapeEllipse - left,top should be centerX, centerY
1387
1388         No new tests or tests revisions were needed, the existing tests cover these APIs.
1389
1390         * css/CSSParser.cpp:
1391         (WebCore::CSSParser::parseExclusionShapeRectangle):
1392         (WebCore::CSSParser::parseExclusionShapeCircle):
1393         (WebCore::CSSParser::parseExclusionShapeEllipse):
1394         * css/CSSWrapShapes.cpp:
1395         (WebCore::CSSWrapShapeRectangle::cssText):
1396         (WebCore::CSSWrapShapeCircle::cssText):
1397         (WebCore::CSSWrapShapeEllipse::cssText):
1398         * css/CSSWrapShapes.h:
1399         (WebCore::CSSWrapShapeRectangle::x):
1400         (WebCore::CSSWrapShapeRectangle::y):
1401         (WebCore::CSSWrapShapeRectangle::setX):
1402         (WebCore::CSSWrapShapeRectangle::setY):
1403         (CSSWrapShapeRectangle):
1404         (WebCore::CSSWrapShapeCircle::centerX):
1405         (WebCore::CSSWrapShapeCircle::centerY):
1406         (WebCore::CSSWrapShapeCircle::setCenterX):
1407         (WebCore::CSSWrapShapeCircle::setCenterY):
1408         (CSSWrapShapeCircle):
1409         (WebCore::CSSWrapShapeEllipse::centerX):
1410         (WebCore::CSSWrapShapeEllipse::centerY):
1411         (WebCore::CSSWrapShapeEllipse::setCenterX):
1412         (WebCore::CSSWrapShapeEllipse::setCenterY):
1413         (CSSWrapShapeEllipse):
1414         * css/WrapShapeFunctions.cpp:
1415         (WebCore::valueForWrapShape):
1416         (WebCore::wrapShapeForValue):
1417         * rendering/style/WrapShapes.h:
1418         (WebCore::WrapShapeRectangle::x):
1419         (WebCore::WrapShapeRectangle::y):
1420         (WebCore::WrapShapeRectangle::setX):
1421         (WebCore::WrapShapeRectangle::setY):
1422         (WrapShapeRectangle):
1423         (WebCore::WrapShapeCircle::centerX):
1424         (WebCore::WrapShapeCircle::centerY):
1425         (WebCore::WrapShapeCircle::setCenterX):
1426         (WebCore::WrapShapeCircle::setCenterY):
1427         (WrapShapeCircle):
1428         (WebCore::WrapShapeEllipse::centerX):
1429         (WebCore::WrapShapeEllipse::centerY):
1430         (WebCore::WrapShapeEllipse::setCenterX):
1431         (WebCore::WrapShapeEllipse::setCenterY):
1432         (WrapShapeEllipse):
1433
1434 2012-07-16  Pavel Feldman  <pfeldman@chromium.org>
1435
1436         Web Inspector: implement search / replace in source files (behind experiment flag)
1437         https://bugs.webkit.org/show_bug.cgi?id=91394
1438
1439         Reviewed by Vsevolod Vlasov.
1440
1441         This change adds "loop" parameter to the go to next / previous search + adds a UI component
1442         for search / replace of text in the sources panel. New UI component is behind the experiment.
1443
1444         * English.lproj/localizedStrings.js:
1445         * inspector/front-end/ConsolePanel.js:
1446         (WebInspector.ConsolePanel.prototype.performSearch):
1447         (WebInspector.ConsolePanel.prototype.jumpToNextSearchResult):
1448         (WebInspector.ConsolePanel.prototype.jumpToPreviousSearchResult):
1449         * inspector/front-end/ElementsPanel.js:
1450         (WebInspector.ElementsPanel.prototype.jumpToNextSearchResult):
1451         (WebInspector.ElementsPanel.prototype.jumpToPreviousSearchResult):
1452         * inspector/front-end/ExtensionPanel.js:
1453         (WebInspector.ExtensionPanel.prototype.performSearch):
1454         (WebInspector.ExtensionPanel.prototype.jumpToNextSearchResult):
1455         (WebInspector.ExtensionPanel.prototype.jumpToPreviousSearchResult):
1456         * inspector/front-end/JavaScriptSourceFrame.js:
1457         (WebInspector.JavaScriptSourceFrame.prototype.afterTextChanged):
1458         (WebInspector.JavaScriptSourceFrame.prototype.beforeTextChanged):
1459         * inspector/front-end/NetworkPanel.js:
1460         (WebInspector.NetworkLogView.prototype._sortItems):
1461         (WebInspector.NetworkLogView.prototype._updateFilter):
1462         (WebInspector.NetworkLogView.prototype.performSearch):
1463         (WebInspector.NetworkLogView.prototype.jumpToPreviousSearchResult):
1464         (WebInspector.NetworkLogView.prototype.jumpToNextSearchResult):
1465         (WebInspector.NetworkPanel.prototype.performSearch):
1466         * inspector/front-end/Panel.js:
1467         (WebInspector.Panel.prototype.performSearch):
1468         (WebInspector.Panel.prototype.jumpToNextSearchResult):
1469         (WebInspector.Panel.prototype.jumpToPreviousSearchResult):
1470         (WebInspector.Panel.prototype.canSearchAndReplace):
1471         (WebInspector.Panel.prototype.replaceSelectionWith):
1472         (WebInspector.Panel.prototype.replaceAllWith):
1473         * inspector/front-end/ProfilesPanel.js:
1474         (WebInspector.ProfilesPanel.prototype.jumpToNextSearchResult):
1475         (WebInspector.ProfilesPanel.prototype.jumpToPreviousSearchResult):
1476         * inspector/front-end/ResourcesPanel.js:
1477         (WebInspector.ResourcesPanel.prototype.jumpToNextSearchResult):
1478         (WebInspector.ResourcesPanel.prototype.jumpToPreviousSearchResult):
1479         * inspector/front-end/ScriptsPanel.js:
1480         (WebInspector.ScriptsPanel.prototype.performSearch.finishedCallback):
1481         (WebInspector.ScriptsPanel.prototype.performSearch):
1482         (WebInspector.ScriptsPanel.prototype.jumpToNextSearchResult):
1483         (WebInspector.ScriptsPanel.prototype.jumpToPreviousSearchResult):
1484         (WebInspector.ScriptsPanel.prototype.canSearchAndReplace):
1485         (WebInspector.ScriptsPanel.prototype.replaceSelectionWith):
1486         (WebInspector.ScriptsPanel.prototype.replaceAllWith):
1487         * inspector/front-end/SearchController.js:
1488         (WebInspector.SearchController):
1489         (WebInspector.SearchController.prototype.cancelSearch):
1490         (WebInspector.SearchController.prototype.disableSearchUntilExplicitAction):
1491         (WebInspector.SearchController.prototype.handleShortcut):
1492         (WebInspector.SearchController.prototype.activePanelChanged.performPanelSearch):
1493         (WebInspector.SearchController.prototype.activePanelChanged):
1494         (WebInspector.SearchController.prototype._updateSearchNavigationButtonState):
1495         (WebInspector.SearchController.prototype.showSearchField):
1496         (WebInspector.SearchController.prototype._onKeyDown):
1497         (WebInspector.SearchController.prototype._onInput):
1498         (WebInspector.SearchController.prototype._onNextButtonSearch):
1499         (WebInspector.SearchController.prototype._onPrevButtonSearch):
1500         (WebInspector.SearchController.prototype._performSearch):
1501         (WebInspector.SearchController.prototype._toggleReplaceVisibility):
1502         (WebInspector.SearchController.prototype._replace):
1503         (WebInspector.SearchController.prototype._replaceAll):
1504         * inspector/front-end/Settings.js:
1505         (WebInspector.ExperimentsSettings):
1506         * inspector/front-end/SourceFrame.js:
1507         (WebInspector.SourceFrame.createSearchRegex):
1508         (WebInspector.SourceFrame.prototype.beforeTextChanged):
1509         (WebInspector.SourceFrame.prototype.replaceSearchMatchWith):
1510         (WebInspector.SourceFrame.prototype.replaceAllWith):
1511         (WebInspector.TextEditorDelegateForSourceFrame.prototype.beforeTextChanged):
1512         (WebInspector.TextEditorDelegateForSourceFrame.prototype.commitEditing):
1513         * inspector/front-end/StylesPanel.js:
1514         (WebInspector.StyleSourceFrame.prototype.afterTextChanged):
1515         * inspector/front-end/TextEditor.js:
1516         (WebInspector.TextEditor.prototype._commitEditing):
1517         * inspector/front-end/TextEditorModel.js:
1518         (WebInspector.TextEditorModel.endsWithBracketRegex.):
1519         * inspector/front-end/inspector.css:
1520         (.search-replace):
1521         (.search-replace:focus):
1522         (.toolbar-search-navigation-controls):
1523         (.toolbar-search-navigation.enabled):
1524         (.toolbar-search):
1525         (.toolbar-search input[type="checkbox"]):
1526         (.toolbar-search button):
1527         (.toolbar-search button:active):
1528         (.toolbar-search-control):
1529         (.toolbar-replace-control):
1530         (.toolbar-search-navigation.enabled:active):
1531         (.toolbar-search-navigation.toolbar-search-navigation-prev):
1532         (.toolbar-search-navigation.toolbar-search-navigation-prev.enabled:active):
1533         (.toolbar-search-navigation.toolbar-search-navigation-next):
1534         (.toolbar-search-navigation.toolbar-search-navigation-next.enabled:active):
1535         (.drawer-header-close-button):
1536         (.inspector-footer):
1537
1538 2012-07-17  Gabor Ballabas  <gaborb@inf.u-szeged.hu>
1539
1540         [Qt][V8] Remove the V8 related codepaths and configuration
1541         https://bugs.webkit.org/show_bug.cgi?id=90863
1542
1543         Reviewed by Simon Hausmann.
1544
1545         No new tests because no new functionality.
1546
1547         * DerivedSources.pri:
1548         * Target.pri:
1549         * WebCore.gypi:
1550         * WebCore.pri:
1551         * bindings/v8/ScriptCachedFrameData.cpp:
1552         * bindings/v8/ScriptCachedFrameData.h:
1553         * bindings/v8/ScriptController.cpp:
1554         * bindings/v8/ScriptController.h:
1555         (ScriptController):
1556         * bindings/v8/ScriptControllerQt.cpp: Removed.
1557         * bindings/v8/V8GCController.cpp:
1558         (WebCore::V8GCController::checkMemoryUsage):
1559         * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
1560         (WebCore::histogramEnumeration):
1561         (WebCore::V8InspectorFrontendHost::recordActionTakenCallback):
1562         (WebCore::V8InspectorFrontendHost::recordPanelShownCallback):
1563         (WebCore::V8InspectorFrontendHost::recordSettingChangedCallback):
1564         * config.h:
1565
1566 2012-07-17  Zoltan Horvath  <zoltan@webkit.org>
1567
1568         [QT] REGRESSION (r122720): svg/filters/feSpecularLight-premultiplied.svg
1569         https://bugs.webkit.org/show_bug.cgi?id=91390
1570
1571         Reviewed by Zoltan Herczeg.
1572
1573         Fix the regression by using the proper imagetype conversion in ImageBuffer::platformTransformColorSpace.
1574
1575         The test is unskipped.
1576
1577         * platform/graphics/qt/ImageBufferQt.cpp:
1578         (WebCore::ImageBuffer::platformTransformColorSpace):
1579
1580 2012-07-17  Vivek Galatage  <vivekgalatage@gmail.com>
1581
1582         Web Inspector: refactor InspectorController::connectFrontend() to accept InspectorFrontendChannel.
1583         https://bugs.webkit.org/show_bug.cgi?id=91196
1584
1585         Reviewed by Pavel Feldman.
1586
1587         Refactoring InspectorClients. InspectorClient::openInspectorFrontend
1588         now returning the InspectorFrontendChannel. Also refactored
1589         InspectorController::connectFrontend() to receive
1590         InspectorFrontendChannel.
1591
1592         No new test as code refactoring done.
1593
1594         * inspector/InspectorClient.h:
1595         (WebCore):
1596         (InspectorClient):
1597         * inspector/InspectorController.cpp:
1598         (WebCore::InspectorController::InspectorController):
1599         (WebCore::InspectorController::connectFrontend):
1600         (WebCore::InspectorController::show):
1601         (WebCore::InspectorController::reconnectFrontend):
1602         * inspector/InspectorController.h:
1603         (WebCore):
1604         (InspectorController):
1605         * loader/EmptyClients.h:
1606         (WebCore::EmptyInspectorClient::openInspectorFrontend):
1607         (WebCore::EmptyInspectorClient::hideHighlight):
1608
1609 2012-07-17  Sheriff Bot  <webkit.review.bot@gmail.com>
1610
1611         Unreviewed, rolling out r122834.
1612         http://trac.webkit.org/changeset/122834
1613         https://bugs.webkit.org/show_bug.cgi?id=91492
1614
1615         it broke the chromium (Requested by kkristof on #webkit).
1616
1617         * DerivedSources.pri:
1618         * Target.pri:
1619         * WebCore.pri:
1620         * bindings/v8/ScriptCachedFrameData.cpp:
1621         (WebCore):
1622         (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
1623         (WebCore::ScriptCachedFrameData::domWindow):
1624         (WebCore::ScriptCachedFrameData::restore):
1625         (WebCore::ScriptCachedFrameData::clear):
1626         * bindings/v8/ScriptCachedFrameData.h:
1627         (WebCore):
1628         (ScriptCachedFrameData):
1629         (WebCore::ScriptCachedFrameData::~ScriptCachedFrameData):
1630         * bindings/v8/ScriptController.cpp:
1631         * bindings/v8/ScriptController.h:
1632         (ScriptController):
1633         * bindings/v8/ScriptControllerQt.cpp: Copied from Source/WebCore/bindings/v8/ScriptCachedFrameData.cpp.
1634         (WebCore):
1635         (WebCore::ScriptController::qtScriptEngine):
1636         * bindings/v8/V8GCController.cpp:
1637         (WebCore::V8GCController::checkMemoryUsage):
1638         * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
1639         (WebCore):
1640         (WebCore::V8InspectorFrontendHost::recordActionTakenCallback):
1641         (WebCore::V8InspectorFrontendHost::recordPanelShownCallback):
1642         (WebCore::V8InspectorFrontendHost::recordSettingChangedCallback):
1643         * config.h:
1644
1645 2012-07-17  Gabor Ballabas  <gaborb@inf.u-szeged.hu>
1646
1647         [Qt][V8] Remove the V8 related codepaths and configuration
1648         https://bugs.webkit.org/show_bug.cgi?id=90863
1649
1650         Reviewed by Simon Hausmann.
1651
1652         No new tests, because there is no new functionality.
1653
1654         * DerivedSources.pri:
1655         * Target.pri:
1656         * WebCore.pri:
1657         * bindings/v8/ScriptCachedFrameData.cpp:
1658         * bindings/v8/ScriptCachedFrameData.h:
1659         * bindings/v8/ScriptController.cpp:
1660         * bindings/v8/ScriptController.h:
1661         (ScriptController):
1662         * bindings/v8/ScriptControllerQt.cpp: Removed.
1663         * bindings/v8/V8GCController.cpp:
1664         (WebCore::V8GCController::checkMemoryUsage):
1665         * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
1666         (WebCore::histogramEnumeration):
1667         (WebCore::V8InspectorFrontendHost::recordActionTakenCallback):
1668         (WebCore::V8InspectorFrontendHost::recordPanelShownCallback):
1669         (WebCore::V8InspectorFrontendHost::recordSettingChangedCallback):
1670         * config.h:
1671
1672 2012-07-17  Kwang Yul Seo  <skyul@company100.net>
1673
1674         "in body" insertion mode, "any other end tag" step 2.1 is updated
1675         https://bugs.webkit.org/show_bug.cgi?id=91473
1676
1677         Reviewed by Eric Seidel.
1678
1679         The HTML5 spec is updated to change the 'end tag' processing to not imply
1680         its own end tag, since that makes no sense. Step 2.1 now says
1681         "Generate implied end tags, except for elements with the same tag name as the token."
1682         Modified to follow the updated spec. Also removed the first FIXME because now
1683         ElementRecord can't be deleted by the preceeding call.
1684
1685         This patch does not actually change the behavior because of the previous
1686         check (aborts if generateImpliedEndTags has already popped the node for the token),
1687         so no new tests.
1688
1689         * html/parser/HTMLTreeBuilder.cpp:
1690         (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
1691
1692 2012-07-17  Shinya Kawanaka  <shinyak@chromium.org> 
1693
1694         [Regression] Infinite loop in document.elementFromPoint
1695         https://bugs.webkit.org/show_bug.cgi?id=90820
1696
1697         Reviewed by Nikolas Zimmermann.
1698
1699         Node::shadowAncestorNode returns the caller node itself for SVGElement. However,
1700         since we have already implemented event retargeting algorithm in Shadow DOM, we don't have to
1701         take a special care of SVGElement for Node.shadowAncestorNode() now.
1702
1703         This patch will removes the special care code and fixes infinite loop in document.elementFromPoint().
1704
1705         Test: svg/hittest/svg-use-element-from-point.html
1706
1707         * dom/Node.cpp:
1708         (WebCore::Node::shadowAncestorNode):
1709
1710 2012-07-17  Shinya Kawanaka  <shinyak@chromium.org>
1711
1712         Shadow DOM for img element
1713         https://bugs.webkit.org/show_bug.cgi?id=90532
1714
1715         Reviewed by Hajime Morita.
1716
1717         This patch adds Shadow DOM support for img element.
1718
1719         According to the Shadow DOM spec, img element should behave like having a user agent Shadow DOM.
1720         However, if we add Shadow DOM to img by default, it will cause performance regression and memory bloat.
1721
1722         So, we would like to postpone adding a Shadow DOM to img until when we really need it. In other words,
1723         we add our User Agent Shadow DOM to img just before a user adds Author Shadow DOM.
1724
1725         The User Agent Shadow DOM for img has only one element, which displays an image. If img has
1726         a Shadow DOM, img will behave like <span style="display: inline-block"> by default. The display style can
1727         be chagned using CSS though.
1728
1729         This patch also adds ImageLoaderClient. The element we render an image and the element we take an argument
1730         from were the same, however not they might be different. We would like to encapsulate the fact into
1731         ImageLoaderClient.
1732
1733         Tests: fast/dom/shadow/shadowdom-for-image-alt-update.html
1734                fast/dom/shadow/shadowdom-for-image-alt.html
1735                fast/dom/shadow/shadowdom-for-image-content.html
1736                fast/dom/shadow/shadowdom-for-image-dynamic.html
1737                fast/dom/shadow/shadowdom-for-image-event-click.html
1738                fast/dom/shadow/shadowdom-for-image-in-shadowdom.html
1739                fast/dom/shadow/shadowdom-for-image-map.html
1740                fast/dom/shadow/shadowdom-for-image-style.html
1741                fast/dom/shadow/shadowdom-for-image-with-multiple-shadow.html
1742                fast/dom/shadow/shadowdom-for-image-with-width-and-height.html
1743                fast/dom/shadow/shadowdom-for-image.html
1744
1745         * CMakeLists.txt:
1746         * GNUmakefile.list.am:
1747         * Target.pri:
1748         * WebCore.gypi:
1749         * WebCore.vcproj/WebCore.vcproj:
1750         * WebCore.xcodeproj/project.pbxproj:
1751         * css/html.css:
1752         (img):
1753         * html/HTMLImageElement.cpp:
1754         (WebCore::ImageElement::setImageIfNecessary):
1755         (WebCore):
1756         (WebCore::ImageElement::createRendererForImage):
1757         (WebCore::HTMLImageElement::willAddAuthorShadowRoot): When we don't have a user agent Shadow DOM yet
1758         we add it.
1759         (WebCore::HTMLImageElement::createShadowSubtree):
1760         (WebCore::HTMLImageElement::imageElement):
1761         (WebCore::HTMLImageElement::parseAttribute):
1762         (WebCore::HTMLImageElement::createRenderer): If a user agent Shadow DOM is attached, we create
1763         Renderer from style, instead of creating RenderImage.
1764         (WebCore::HTMLImageElement::attach):
1765         (WebCore::HTMLImageElement::innerElement):
1766         * html/HTMLImageElement.h:
1767         (WebCore):
1768         (ImageElement):
1769         (HTMLImageElement):
1770         (WebCore::HTMLImageElement::sourceElement):
1771         (WebCore::HTMLImageElement::refSourceElement):
1772         (WebCore::HTMLImageElement::derefSourceElement):
1773         (WebCore::HTMLImageElement::imageRenderer):
1774         (WebCore::HTMLImageElement::imageLoader):
1775         (WebCore::isHTMLImageElement):
1776         (WebCore::toHTMLImageElement):
1777         * html/HTMLImageLoader.cpp:
1778         (WebCore::HTMLImageLoader::HTMLImageLoader):
1779         (WebCore::HTMLImageLoader::dispatchLoadEvent):
1780         (WebCore::HTMLImageLoader::sourceURI):
1781         (WebCore::HTMLImageLoader::notifyFinished):
1782         * html/HTMLImageLoader.h:
1783         (HTMLImageLoader):
1784         * html/HTMLInputElement.h:
1785         * html/HTMLObjectElement.h:
1786         * html/HTMLPlugInElement.h:
1787         * html/HTMLTagNames.in:
1788         * html/HTMLVideoElement.h:
1789         * html/shadow/ImageInnerElement.cpp: Added.
1790         (WebCore):
1791         (WebCore::ImageInnerElement::ImageInnerElement):
1792         (WebCore::ImageInnerElement::hostImage):
1793         (WebCore::ImageInnerElement::imageLoader):
1794         (WebCore::ImageInnerElement::attach):
1795         (WebCore::ImageInnerElement::createRenderer):
1796         * html/shadow/ImageInnerElement.h: Added.
1797         (WebCore):
1798         (ImageInnerElement):
1799         (WebCore::ImageInnerElement::imageRenderer):
1800         (WebCore::ImageInnerElement::create):
1801         (WebCore::isImageInnerElement):
1802         (WebCore::toImageInnerElement):
1803         * loader/ImageLoader.cpp:
1804         (WebCore::ImageLoader::ImageLoader):
1805         (WebCore::ImageLoader::~ImageLoader):
1806         (WebCore):
1807         (WebCore::ImageLoader::document):
1808         (WebCore::ImageLoader::updateFromElement):
1809         (WebCore::ImageLoader::notifyFinished):
1810         (WebCore::ImageLoader::renderImageResource):
1811         (WebCore::ImageLoader::updatedHasPendingLoadEvent):
1812         (WebCore::ImageLoader::dispatchPendingBeforeLoadEvent):
1813         (WebCore::ImageLoader::dispatchPendingLoadEvent):
1814         (WebCore::ImageLoader::dispatchPendingErrorEvent):
1815         * loader/ImageLoader.h:
1816         (WebCore):
1817         (ImageLoader):
1818         (WebCore::ImageLoader::client):
1819         * loader/ImageLoaderClient.h: Added.
1820         (WebCore):
1821         (ImageLoaderClient): Provides the necessary interfaces to ImageLoader.
1822         (WebCore::ImageLoaderClient::~ImageLoaderClient):
1823         (ImageLoaderClientBase):
1824         (WebCore::ImageLoaderClientBase::sourceElement):
1825         (WebCore::ImageLoaderClientBase::imageElement):
1826         (WebCore::ImageLoaderClientBase::refSourceElement):
1827         (WebCore::ImageLoaderClientBase::derefSourceElement):
1828         * rendering/RenderImage.cpp:
1829         (WebCore::RenderImage::paintIntoRect):
1830         (WebCore::RenderImage::imageMap):
1831         (WebCore::RenderImage::updateAltText):
1832         (WebCore::RenderImage::hostImageElement):
1833         (WebCore):
1834         * rendering/RenderImage.h:
1835         (WebCore):
1836         (RenderImage):
1837         * rendering/RenderObject.cpp:
1838         (WebCore::RenderObject::shouldRespectImageOrientation):
1839         * svg/SVGImageElement.h:
1840         (SVGImageElement):
1841         * svg/SVGImageLoader.cpp:
1842         (WebCore::SVGImageLoader::SVGImageLoader):
1843         (WebCore::SVGImageLoader::dispatchLoadEvent):
1844         (WebCore::SVGImageLoader::sourceURI):
1845         * svg/SVGImageLoader.h:
1846         (SVGImageLoader):
1847
1848 2012-07-17  Kent Tamura  <tkent@chromium.org>
1849
1850         Internals: Remove injectPagePopupController()
1851         https://bugs.webkit.org/show_bug.cgi?id=91471
1852
1853         Reviewed by Hajime Morita.
1854
1855         r122558 introduced injectPagePopupController(), however we'd like to
1856         avoid adding such JavaScript binding code. We can avoid it by exposing a
1857         PagePopupController for a mock and injecting the following code to the
1858         popup document:
1859
1860         <script>window.pagePopupController = window.internals.pagePopupController</script>
1861
1862         No new tests. This is a kind of refactoring.
1863
1864         * testing/InternalSettings.cpp:
1865         (WebCore::InternalSettings::pagePopupController):
1866         Added. Accessor for PagePopupControler owned by the MockPagePopupDriver.
1867         * testing/InternalSettings.h:
1868         (InternalSettings): Declare pagePopupController() for Internals::pagePopupController().
1869         * testing/Internals.cpp:
1870         (WebCore::Internals::pagePopupController):
1871         Added. This uses InternalSettings::pagePopupController().
1872         * testing/Internals.h:
1873         (Internals): Declare pagePopupController() for Internals.idl.
1874         * testing/Internals.idl: Declare pagePopupController.
1875
1876         * testing/MockPagePopupDriver.cpp:
1877         Moved m_pagePopupController from MockPagePopup to MockPagePopupDriver.
1878         (WebCore::MockPagePopup::MockPagePopup):
1879         Added a script element to prepare window.pagePopupController.
1880         Removed a callsite of injectPagePopupController().
1881         (WebCore::MockPagePopupDriver::openPagePopup):
1882         (WebCore::MockPagePopupDriver::closePagePopup):
1883         * testing/MockPagePopupDriver.h:
1884         (WebCore::MockPagePopupDriver::pagePopupController):
1885         Accessor for a PagePopupController object.
1886         (MockPagePopupDriver): Add RefPtr<PagePopupController> data member.
1887
1888         * testing/v8/WebCoreTestSupport.cpp: Remove injectPagePopupController().
1889         * testing/v8/WebCoreTestSupport.h: ditto.
1890
1891 2012-07-17  Ryuan Choi  <ryuan.choi@samsung.com>
1892
1893         [EFL] Move codes related to theme setting from Widget to RenderTheme
1894         https://bugs.webkit.org/show_bug.cgi?id=89842
1895
1896         Reviewed by Kenneth Rohde Christiansen.
1897
1898         WebKit/Efl uses custom theme for Scrollbar, RenderTheme and Cursor.
1899         However, theme information itself is in WidgetEfl so it is accessed by
1900         calling recursive function.
1901         Because theme is managed by each page, this patch moves codes related to
1902         theme from WidgetEfl to RenderThemeEfl which is contained by page.
1903
1904         * platform/Widget.h: Removed functions related to theme.
1905         * platform/efl/RenderThemeEfl.cpp:
1906         (WebCore::RenderThemeEfl::setThemePath): Added to set theme path.
1907         (WebCore::RenderThemeEfl::createEdje): Updated method to use RenderThemeEfl's theme.
1908         (WebCore::RenderThemeEfl::RenderThemeEfl):
1909         * platform/efl/RenderThemeEfl.h:
1910         (WebCore::RenderThemeEfl::themePath): Added to get theme path
1911         * platform/efl/ScrollbarEfl.cpp: Updated method to use RenderThemeEfl's theme.
1912         (ScrollbarEfl::setParent):
1913         * platform/efl/WidgetEfl.cpp: Removed codes related theme.
1914         (WidgetPrivate):
1915
1916 2012-07-17  Shinya Kawanaka  <shinyak@chromium.org>
1917
1918         HTMLMediaElement should not use Element::ensureShadowRoot()
1919         https://bugs.webkit.org/show_bug.cgi?id=77936
1920
1921         Reviewed by Hajime Morita.
1922
1923         a video element and an audio element add UserAgentShadowRoot dynamically, and they assume that it's the oldest ShadowRoot.
1924         However an AuthorShadowRoot could be added by a user before a video element and an audio element add UserAgentShadowRoot.
1925         It breaks the assumption that the UserAgentShadowRoot is the oldest.
1926
1927         If the UserAgentShadowRoot is not the oldest, the AuthorShadowRoot a page author added might be ignored.
1928         Since the timing to add UserAgentShadowRoot is not known by a user, the fact that UserAgentShadorRoot is
1929         not the oldest will cause inconsistent behavior.
1930
1931         Adding AuthorShadowRoot to a video element and an audio element is allowed by this patch.
1932
1933         Test: fast/dom/shadow/shadowdom-for-media.html
1934
1935         * dom/ShadowRoot.cpp:
1936         (WebCore::allowsAuthorShadowRoot):
1937         * html/HTMLMediaElement.cpp:
1938         (WebCore::HTMLMediaElement::createShadowSubtree):
1939         (WebCore):
1940         (WebCore::HTMLMediaElement::willAddAuthorShadowRoot):
1941         (WebCore::HTMLMediaElement::createMediaControls):
1942         * html/HTMLMediaElement.h:
1943         (HTMLMediaElement):
1944
1945 2012-07-16  Daniel Bates  <dbates@webkit.org>
1946
1947         Attempt to fix the Chromium Mac build after <http://trac.webkit.org/changeset/122802>
1948         (https://bugs.webkit.org/show_bug.cgi?id=91451)
1949  
1950         Remove unused private instance variable AbsoluteQuadsGeneratorContext::m_wasFixed.
1951         This instance variable has remained unused since it was added in
1952         <http://trac.webkit.org/changeset/116718> (https://bugs.webkit.org/show_bug.cgi?id=85725).
1953
1954         I'm unclear as to why the Chromium Mac build began to complain about this
1955         unused instance variable following <http://trac.webkit.org/changeset/122802>, since this
1956         code has been in the tree for a while and we previously instantiated AbsoluteQuadsGeneratorContext
1957         with wasFixed (even though it wasn't used). Regardless, we should remove the unused
1958         instance variable AbsoluteQuadsGeneratorContext::m_wasFixed.
1959
1960         * rendering/RenderInline.cpp:
1961         (WebCore): Remove AbsoluteQuadsGeneratorContext::m_wasFixed.
1962         (WebCore::RenderInline::absoluteQuads):
1963
1964 2012-07-16  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1965
1966         Add RegisterProtocolHandlerClient to the Modules/protocolhandler
1967         https://bugs.webkit.org/show_bug.cgi?id=90940
1968
1969         Reviewed by Hajime Morita.
1970
1971         As a step to let protocol handler be moved to the modules, RegisterProtocolHandlerClient needs
1972         to be added to the Modules/protocolhandler. Because ChromeClient has some virtual functions for
1973         protocol handlers, virtual functions should be moved to RegisterProtocolHandlerClient.
1974
1975         In addition, NavigatorRegisterProtocolHandler should be supplementable.
1976
1977         No new tests. Covered by existing tests.
1978
1979         * GNUmakefile.list.am:
1980         * Modules/protocolhandler/NavigatorRegisterProtocolHandler.cpp:
1981         (WebCore::NavigatorRegisterProtocolHandler::from):
1982         (WebCore::NavigatorRegisterProtocolHandler::create):
1983         (WebCore):
1984         (WebCore::NavigatorRegisterProtocolHandler::registerProtocolHandler):
1985         (WebCore::customHandlersStateString):
1986         (WebCore::NavigatorRegisterProtocolHandler::isProtocolHandlerRegistered):
1987         (WebCore::NavigatorRegisterProtocolHandler::unregisterProtocolHandler):
1988         (WebCore::NavigatorRegisterProtocolHandler::supplementName):
1989         (WebCore::provideRegisterProtocolHandlerTo):
1990         * Modules/protocolhandler/NavigatorRegisterProtocolHandler.h:
1991         (WebCore):
1992         (NavigatorRegisterProtocolHandler):
1993         (WebCore::NavigatorRegisterProtocolHandler::NavigatorRegisterProtocolHandler):
1994         (WebCore::NavigatorRegisterProtocolHandler::client):
1995         * Modules/protocolhandler/RegisterProtocolHandlerClient.h: Added.
1996         (WebCore):
1997         (RegisterProtocolHandlerClient):
1998         * WebCore.gypi:
1999         * loader/EmptyClients.h:
2000         * page/ChromeClient.h:
2001         (ChromeClient):
2002         * platform/network/soup/CookieJarSoup.cpp:
2003         (WebCore::setCookies):
2004         (WebCore::getRawCookies):
2005
2006 2012-07-16  Pete Williamson  <petewil@google.com>
2007
2008         Changed the behavior of iconURLs to always recalculate the list.
2009         https://bugs.webkit.org/show_bug.cgi?id=88665
2010
2011         Reviewed by Kent Tamura.
2012
2013         As it turns out, it can contain stale URLs in the case that some script
2014         manipulates the DOM, which breaks scripts trying to reset the favicon
2015         URL. Also added a method in Internals to allow tests to get the list of
2016         icon
2017
2018         Tests: fast/dom/icon-url-change.html
2019                fast/dom/icon-url-list.html
2020
2021         * WebCore.exp.in: export Document::iconURLs on the mac for the Internals class
2022         * dom/Document.cpp:
2023         (WebCore::Document::iconURLs): Changed the method to recalculate the iconURL list every time
2024         (WebCore::Document::addIconURL): we no longer need to add to the internal list since we recalculate it
2025         (WebCore::Document::setUseSecureKeyboardEntryWhenActive): removed extra whitespace
2026         * dom/Document.h:
2027         (Document): removed the addIconURL method which is no longer used
2028         * html/HTMLLinkElement.cpp:
2029         (WebCore::HTMLLinkElement::iconType): exposed the icon type with an accessor
2030         (WebCore):
2031         (WebCore::HTMLLinkElement::iconSizes): exposed the icon sizes with an accessor
2032         * html/HTMLLinkElement.h:
2033         (HTMLLinkElement): declared the icon type and size accessors
2034         * testing/Internals.cpp:
2035         (WebCore::Internals::iconURLs): made a method to be used by unit tests for inspecting the icon URL list
2036         (WebCore):
2037         * testing/Internals.h:
2038         (Internals): declared the method for unit testing the icon URL list
2039         * testing/Internals.idl: exported the Document::iconURLs function
2040
2041 2012-07-16  Hajime Morrita  <morrita@chromium.org>
2042
2043         WebCore needs WEBCORE_TESTING macro to mark methods being exported for testing.
2044         https://bugs.webkit.org/show_bug.cgi?id=90764
2045
2046         Reviewed by Adam Barth.
2047
2048         Defined WEBCORE_TESTING based on USE(EXPORT_MACROS_FOR_TESTING) and
2049         applied it to FrameDestructionObserver.
2050
2051         * bindings/js/JSDOMGlobalObject.h: Removed conflicting symbols
2052         * page/FrameDestructionObserver.h: Added WEBKIT_TESTING
2053         (FrameDestructionObserver):
2054         * platform/PlatformExportMacros.h:
2055
2056 2012-07-16  Kiran Muppala  <cmuppala@apple.com>
2057
2058         REGRESSION: RenderInline::absoluteQuads produces incorrect results for fixed position.
2059         https://bugs.webkit.org/show_bug.cgi?id=91451
2060
2061         Reviewed by Simon Fraser.
2062
2063         RenderInline::absoluteQuads relies on copies of RenderGeometryMap,
2064         created indirectly by passing AbsoluteQuadsGeneratorContext object by
2065         value.  These copies are unsafe because the individual transform steps
2066         within the geometry map include a owned poitner to their respective
2067         transform.
2068
2069         Modify the callee methods to take context by reference and disable
2070         copy constructor for RenderGeometryMap.
2071
2072         Test: fast/inline/inline-fixed-position-boundingbox.html
2073
2074         * rendering/RenderGeometryMap.h:
2075         (WebCore::RenderGeometryMapStep::RenderGeometryMapStep): Add missing
2076         m_offset to copy constructor initialization list.
2077         (RenderGeometryMap): Disable copy constructor.
2078         * rendering/RenderInline.cpp: Pass context object by reference.
2079         (WebCore::RenderInline::generateLineBoxRects): 
2080         (WebCore::RenderInline::generateCulledLineBoxRects):
2081         (WebCore::RenderInline::absoluteRects):
2082         (WebCore::RenderInline::absoluteQuads):
2083         (WebCore::RenderInline::linesBoundingBox):
2084         (WebCore::RenderInline::culledInlineVisualOverflowBoundingBox):
2085         (WebCore::RenderInline::addFocusRingRects):
2086         * rendering/RenderInline.h:
2087         (RenderInline::generateLineBoxRects): Update method declarations to
2088         show pass by reference context parameter.
2089         (RenderInline::generateCulledLineBoxRects): Ditto.
2090
2091 2012-07-16  Hayato Ito  <hayato@chromium.org>
2092
2093         Some events should be always stopped at shadow boundary.
2094         https://bugs.webkit.org/show_bug.cgi?id=90436
2095
2096         Reviewed by Ryosuke Niwa.
2097
2098         The spec is here:
2099         https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#events-that-are-always-stopped
2100
2101         Test: fast/dom/shadow/events-stopped-at-shadow-boundary.html
2102
2103         * dom/EventDispatcher.cpp:
2104         (WebCore::EventDispatcher::determineDispatchBehavior):
2105
2106 2012-07-16  Yoshifumi Inoue  <yosin@chromium.org>
2107
2108         REGRESSION(r119948): [Form] HTMLInputElement.valueAsNumber for input type "month" should return number of month since January 1970
2109         https://bugs.webkit.org/show_bug.cgi?id=91211
2110
2111         Reviewed by Kent Tamura.
2112
2113         This patch changes BaseDateAndTimeInputType::valueAsDouble() to call
2114         virtual function parseToNumber() which "month" input type overrides
2115         instead of non-virtual function parseToDouble() which returns number
2116         of milliseconds.
2117
2118         No new tests. Existing test (fast/form/month/input-valueasnumber-month.html) coverts this, although it is disabled.
2119
2120         * html/BaseDateAndTimeInputType.cpp:
2121         (WebCore::BaseDateAndTimeInputType::valueAsDouble): Changed to call parseToNumber().
2122         (WebCore::BaseDateAndTimeInputType::parseToNumber): Changed to what parseToDouble() did.
2123         * html/BaseDateAndTimeInputType.h:
2124         (BaseDateAndTimeInputType): Remove parseToDouble().
2125
2126 2012-07-16  Adrienne Walker  <enne@google.com>
2127
2128         [chromium] Turn off ScrollbarLayerChromium for Windows due to bad alpha values
2129         https://bugs.webkit.org/show_bug.cgi?id=91438
2130
2131         Reviewed by Kenneth Russell.
2132
2133         r120509 turned on blending for scrollbar thumbs. Unfortunately for
2134         Windows XP scrollbar thumbs, their alpha channel is bogus and so the
2135         thumb ends up being completely transparent. This should ultimately be
2136         fixed in Chromium theme code, but in the meantime this patch turns
2137         off the use of ScrollbarLayerChromium.
2138
2139         This change makes Windows scrollbars fall back to using normal
2140         ContentLayerChromiums and being painted all in one layer on the main
2141         thread rather than being painted separately and composited on the
2142         compositor thread.
2143
2144         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
2145         (WebCore::createScrollbarLayer):
2146
2147 2012-07-16  Koji Ishii  <kojiishi@gmail.com>
2148
2149         Vertical alternate glyph (GSUB) support for OpenTypeVerticalData
2150         https://bugs.webkit.org/show_bug.cgi?id=81389
2151
2152         Reviewed by Tony Chang.
2153
2154         This patch adds support for reading 'GSUB' OpenType table to get
2155         vertical alternate glyphs.
2156         http://www.microsoft.com/typography/otspec/gsub.htm
2157
2158         Like bug 81326, this code isn't on any code path yet.
2159
2160         Tests: WebKit/chromium/tests/OpenTypeVerticalDataTest.cpp
2161
2162         * platform/graphics/opentype/OpenTypeTypes.h:
2163         (WebCore::OpenType::validateTable): Moved from OpenTypeVerticalData.cpp for unit tests.
2164         (OpenType):
2165         (TableBase): Ditto.
2166         (WebCore::OpenType::TableBase::isValidEnd):
2167         (WebCore::OpenType::TableBase::validatePtr):
2168         (WebCore::OpenType::TableBase::validateOffset):
2169         * platform/graphics/opentype/OpenTypeVerticalData.cpp:
2170         (OpenType): Added several OpenType tables used by 'GSUB' table.
2171         (CoverageTable):
2172         (Coverage1Table):
2173         (Coverage2Table):
2174         (RangeRecord):
2175         (SubstitutionSubTable):
2176         (WebCore::OpenType::SubstitutionSubTable::coverage):
2177         (SingleSubstitution2SubTable):
2178         (LookupTable):
2179         (WebCore::OpenType::LookupTable::getSubstitutions):
2180         (LookupList):
2181         (WebCore::OpenType::LookupList::lookup):
2182         (FeatureTable):
2183         (WebCore::OpenType::FeatureTable::getGlyphSubstitutions):
2184         (FeatureList):
2185         (FeatureRecord):
2186         (WebCore::OpenType::FeatureList::feature):
2187         (LangSysTable):
2188         (WebCore::OpenType::LangSysTable::feature):
2189         (ScriptTable):
2190         (LangSysRecord):
2191         (WebCore::OpenType::ScriptTable::defaultLangSys):
2192         (ScriptList):
2193         (ScriptRecord):
2194         (WebCore::OpenType::ScriptList::script):
2195         (WebCore::OpenType::ScriptList::defaultScript):
2196         (WebCore::OpenType::ScriptList::defaultLangSys):
2197         (GSUBTable):
2198         (WebCore::OpenType::GSUBTable::scriptList):
2199         (WebCore::OpenType::GSUBTable::featureList):
2200         (WebCore::OpenType::GSUBTable::lookupList):
2201         (WebCore::OpenType::GSUBTable::defaultLangSys):
2202         (WebCore::OpenType::GSUBTable::feature):
2203         (WebCore::OpenType::GSUBTable::getVerticalGlyphSubstitutions):
2204         (WebCore::OpenTypeVerticalData::OpenTypeVerticalData):
2205         (WebCore::OpenTypeVerticalData::loadMetrics): Split code to load metrics from ctor.
2206         (WebCore::OpenTypeVerticalData::loadVerticalGlyphSubstitutions): Load the vertical alternate Glyph substitution table.
2207         (WebCore):
2208         (WebCore::OpenTypeVerticalData::substituteWithVerticalGlyphs): Substitute Glyph IDs with vertical alternate Glyph IDs.
2209         * platform/graphics/opentype/OpenTypeVerticalData.h:
2210         (OpenTypeVerticalData): Added m_verticalGlyphMap.
2211
2212 2012-07-16  Vincent Scheib  <scheib@chromium.org>
2213
2214         Fix spelling of EnforceIFrameAllowFullScreenRequirement and ExemptIFrameAllowFullScreenRequirement.
2215         https://bugs.webkit.org/show_bug.cgi?id=91437
2216
2217         Reviewed by Adrienne Walker.
2218
2219         Document contained spelling errors of 'FulScreen' instead of 'FullScreen'
2220         for the FullScreenCheckType enumeration.
2221
2222         No test changes needed.
2223
2224         * dom/Document.cpp:
2225         (WebCore::Document::requestFullScreenForElement):
2226         * dom/Document.h:
2227         * dom/Element.cpp:
2228         (WebCore::Element::webkitRequestFullscreen):
2229         (WebCore::Element::webkitRequestFullScreen):
2230         * html/HTMLMediaElement.cpp:
2231         (WebCore::HTMLMediaElement::enterFullscreen):
2232         * html/shadow/MediaControlElements.cpp:
2233         (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler):
2234
2235 2012-07-16  MORITA Hajime  <morrita@google.com>
2236
2237         Comment on WebCore::HTMLMediaElement::childShouldCreateRenderer() should explain why
2238         https://bugs.webkit.org/show_bug.cgi?id=91174
2239
2240         Reviewed by Kent Tamura.
2241
2242         Clarified the explanation.
2243
2244         * html/HTMLMediaElement.cpp:
2245         (WebCore::HTMLMediaElement::childShouldCreateRenderer):
2246
2247 2012-07-16  Sheriff Bot  <webkit.review.bot@gmail.com>
2248
2249         Unreviewed, rolling out r120033.
2250         http://trac.webkit.org/changeset/120033
2251         https://bugs.webkit.org/show_bug.cgi?id=91454
2252
2253         Broke background gradients (Requested by smfr on #webkit).
2254
2255         * platform/graphics/GeneratorGeneratedImage.cpp:
2256         (WebCore::GeneratorGeneratedImage::draw):
2257
2258 2012-07-16  Joshua Bell  <jsbell@chromium.org>
2259
2260         IndexedDB: Implement spec updates to IDBTransaction.error
2261         https://bugs.webkit.org/show_bug.cgi?id=91409
2262
2263         Reviewed by Tony Chang.
2264
2265         The Indexed DB spec was updated to resolve some edge cases around the
2266         IDBTransaction.error attribute. It was agreed that accessing error should
2267         never throw, error should be null if the transaction is not finished or
2268         abort() was explicitly called, an appropriate error should be returned if
2269         a commit failed, and a generic AbortError should be used if a request
2270         callback throws. These cases are now handled per spec, except that a reason
2271         is not provided for the commit failure (it's always UnknownError).
2272
2273         Test: storage/indexeddb/transaction-error.html
2274               storage/indexeddb/transaction-abort.html
2275
2276         * Modules/indexeddb/IDBRequest.cpp:
2277         (WebCore::IDBRequest::dispatchEvent): Refactor some nested if() blocks; don't
2278         re-abort the transaction if dispatching in response to an abort.
2279         (WebCore::IDBRequest::uncaughtExceptionInEventHandler): Abort transaction
2280         only if not already aborting, and set it's error to AbortError.
2281         * Modules/indexeddb/IDBTransaction.cpp:
2282         (WebCore::IDBTransaction::onAbort): Set error if abort triggered by back end.
2283         * Modules/indexeddb/IDBTransaction.h:
2284         (WebCore::IDBTransaction::db): Move impl to header file.
2285         (WebCore::IDBTransaction::error): Move impl to header file, simplify.
2286         (IDBTransaction):
2287         * Modules/indexeddb/IDBTransaction.idl: The error attribute no longer throws.
2288
2289 2012-07-16  Joshua Bell  <jsbell@chromium.org>
2290
2291         IndexedDB: Implement spec updates to IDBTransaction.error
2292         https://bugs.webkit.org/show_bug.cgi?id=91409
2293
2294         Reviewed by Tony Chang.
2295
2296         The Indexed DB spec was updated to resolve some edge cases around the
2297         IDBTransaction.error attribute. It was agreed that accessing error should
2298         never throw, error should be null if the transaction is not finished or
2299         abort() was explicitly called, an appropriate error should be returned if
2300         a commit failed, and a generic AbortError should be used if a request
2301         callback throws. These cases are now handled per spec, except that a reason
2302         is not provided for the commit failure (it's always UnknownError).
2303
2304         Test: storage/indexeddb/transaction-error.html
2305               storage/indexeddb/transaction-abort.html
2306
2307         * Modules/indexeddb/IDBRequest.cpp:
2308         (WebCore::IDBRequest::dispatchEvent): Refactor some nested if() blocks; don't
2309         re-abort the transaction if dispatching in response to an abort.
2310         (WebCore::IDBRequest::uncaughtExceptionInEventHandler): Abort transaction
2311         only if not already aborting, and set it's error to AbortError.
2312         * Modules/indexeddb/IDBTransaction.cpp:
2313         (WebCore::IDBTransaction::onAbort): Set error if abort triggered by back end.
2314         * Modules/indexeddb/IDBTransaction.h:
2315         (WebCore::IDBTransaction::db): Move impl to header file.
2316         (WebCore::IDBTransaction::error): Move impl to header file, simplify.
2317         (IDBTransaction):
2318         * Modules/indexeddb/IDBTransaction.idl: The error attribute no longer throws.
2319
2320 2012-07-16  Alec Flett  <alecflett@chromium.org>
2321
2322         IndexedDB: Introduce putWithIndexKeys and calculate them in the renderer
2323         https://bugs.webkit.org/show_bug.cgi?id=90923
2324
2325         Reviewed by Darin Fisher.
2326
2327         Refactor IndexWriter to depend only on IDBIndexMetadata and on
2328         (databaseId, objectStoreId, indexId) so that it can talk directly
2329         to the backing store, and also eventually be moved into the renderer.
2330
2331         This also introduces IDBObjectStoreBackendInterface::putWithIndexKeys
2332         as a replacement for IDBObjectStoreBackendInterface::put, already
2333         stubbed out in the chromium port. It will fully replace put()
2334         after both chromium and webkit sides have reached alignment.
2335
2336         No new tests as this is just a refactor and existing tests cover
2337         correctness.
2338
2339         * Modules/indexeddb/IDBCursor.cpp:
2340         (WebCore::IDBCursor::setValueReady):
2341         * Modules/indexeddb/IDBIndexBackendImpl.cpp:
2342         * Modules/indexeddb/IDBIndexBackendImpl.h:
2343         * Modules/indexeddb/IDBObjectStore.h:
2344         (IDBObjectStore):
2345         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
2346         (WebCore::IDBObjectStoreBackendImpl::put):
2347         (WebCore):
2348         (WebCore::IDBObjectStoreBackendImpl::putWithIndexKeys):
2349         (WebCore::IDBObjectStoreBackendImpl::putInternal):
2350         (WebCore::IDBObjectStoreBackendImpl::populateIndex):
2351         * Modules/indexeddb/IDBObjectStoreBackendImpl.h:
2352         (IDBObjectStoreBackendImpl):
2353         * Modules/indexeddb/IDBObjectStoreBackendInterface.h:
2354         * Modules/indexeddb/IDBRequest.cpp:
2355         (WebCore::IDBRequest::onSuccess):
2356
2357 2012-07-16  Adrienne Walker  <enne@google.com>
2358
2359         [chromium] Unify compositor quad transforms into content space
2360         https://bugs.webkit.org/show_bug.cgi?id=91350
2361
2362         Reviewed by Kenneth Russell.
2363
2364         For the purpose of simplification and as a first step towards removing
2365         any transform that takes a centered rect, remove the ability of layers
2366         to override the quad transform. All quads and quad transforms operate
2367         on content space with the origin in the top left.
2368
2369         The gutter quads used to use the root layer (that doesn't draw
2370         content) as the layer to create the shared quad state from. This is
2371         now created manually as a layer without bounds should never in general
2372         need a shared quad state created for it.
2373
2374         No change in functionality; tested by existing layout and unit tests.
2375
2376         * platform/graphics/chromium/cc/CCIOSurfaceLayerImpl.cpp:
2377         (WebCore::CCIOSurfaceLayerImpl::appendQuads):
2378         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
2379         (WebCore::CCLayerImpl::createSharedQuadState):
2380         * platform/graphics/chromium/cc/CCLayerImpl.h:
2381         (CCLayerImpl):
2382         * platform/graphics/chromium/cc/CCRenderPass.cpp:
2383         (WebCore::CCRenderPass::appendQuadsToFillScreen):
2384         * platform/graphics/chromium/cc/CCSolidColorLayerImpl.cpp:
2385         (WebCore::CCSolidColorLayerImpl::appendQuads):
2386         * platform/graphics/chromium/cc/CCSolidColorLayerImpl.h:
2387         (CCSolidColorLayerImpl):
2388         * platform/graphics/chromium/cc/CCTextureLayerImpl.cpp:
2389         (WebCore::CCTextureLayerImpl::appendQuads):
2390         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
2391         * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
2392         (CCTiledLayerImpl):
2393         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
2394         (WebCore::CCVideoLayerImpl::appendQuads):
2395
2396 2012-07-16  Adrienne Walker  <enne@google.com>
2397
2398         [chromium] Unify compositor quad transforms into content space
2399         https://bugs.webkit.org/show_bug.cgi?id=91350
2400
2401         Reviewed by Kenneth Russell.
2402
2403         For the purpose of simplification and as a first step towards removing
2404         any transform that takes a centered rect, remove the ability of layers
2405         to override the quad transform. All quads and quad transforms operate
2406         on content space with the origin in the top left.
2407
2408         The gutter quads used to use the root layer (that doesn't draw
2409         content) as the layer to create the shared quad state from. This is
2410         now created manually as a layer without bounds should never in general
2411         need a shared quad state created for it.
2412
2413         No change in functionality; tested by existing layout and unit tests.
2414
2415         * platform/graphics/chromium/cc/CCIOSurfaceLayerImpl.cpp:
2416         (WebCore::CCIOSurfaceLayerImpl::appendQuads):
2417         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
2418         (WebCore::CCLayerImpl::createSharedQuadState):
2419         * platform/graphics/chromium/cc/CCLayerImpl.h:
2420         (CCLayerImpl):
2421         * platform/graphics/chromium/cc/CCRenderPass.cpp:
2422         (WebCore::CCRenderPass::appendQuadsToFillScreen):
2423         * platform/graphics/chromium/cc/CCSolidColorLayerImpl.cpp:
2424         (WebCore::CCSolidColorLayerImpl::appendQuads):
2425         * platform/graphics/chromium/cc/CCSolidColorLayerImpl.h:
2426         (CCSolidColorLayerImpl):
2427         * platform/graphics/chromium/cc/CCTextureLayerImpl.cpp:
2428         (WebCore::CCTextureLayerImpl::appendQuads):
2429         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
2430         * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
2431         (CCTiledLayerImpl):
2432         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
2433         (WebCore::CCVideoLayerImpl::appendQuads):
2434
2435 2012-07-16  Joshua Bell  <jsbell@chromium.org>
2436
2437         IndexedDB: Resolve test and IDL FIXMEs for a handful of landed patches
2438         https://bugs.webkit.org/show_bug.cgi?id=91423
2439
2440         Reviewed by Tony Chang.
2441
2442         IDBObjectStore.createIndex() had a hack to handle a null keyPath argument for the
2443         DOMString[] overload and treat it as the string "null". Now that IDL arrays are not
2444         nullable by default following r121817 this hack can be removed and the binding layer
2445         will automagically coerce to DOMString.
2446
2447         Test: storage/indexeddb/keypath-basics.html
2448
2449         * Modules/indexeddb/IDBObjectStore.cpp:
2450         (WebCore::IDBObjectStore::createIndex): Remove special case for null in DOMString[] overload.
2451         * Modules/indexeddb/IDBObjectStore.idl: Remove Nullable suffix from DOMString[] overload
2452         so that the DOMString overload will match null.
2453
2454 2012-07-16  Bear Travis  <betravis@adobe.com>
2455
2456         Resolve CSS Exclusions shapeInside, shapeOutside properties to Length based WrapShape classes
2457         https://bugs.webkit.org/show_bug.cgi?id=89670
2458
2459         Reviewed by Dirk Schulze.
2460
2461         Layout of CSS Exclusions requires length based WrapShape classes,
2462         rather than the existing CSSValue based CSSWrapShape classes. This
2463         patch adds length based WrapShape analogs to the CSSWrapShapes, and
2464         modifies RenderStyle to use a WrapShape instead of a CSSWrapShape.
2465         The translation between WrapShape and CSSWrapShape classes
2466         is handled by helper functions in the new WrapShapeFunctions files.
2467         StyleBuilder resolves CSSWrapShapes to WrapShapes for layout use.
2468         CSSComputedStyleDeclaration translates WrapShapes to CSSWrapShapes
2469         for style use.
2470
2471         There are existing tests that cover the style serialization / resolution
2472         in fast/exclusions/parsing-wrap-shape-inside.html and
2473         fast/exclusions/parsing/wrap-shape-outside.html
2474
2475         Test: fast/exclusions/parsing-wrap-shape-lengths.html
2476
2477         * CMakeLists.txt: Build system changes for adding new files
2478         * GNUmakefile.list.am: Ditto
2479         * Target.pri: Ditto
2480         * WebCore.gypi: Ditto
2481         * WebCore.vcproj/WebCore.vcproj: Ditto
2482         * WebCore.xcodeproj/project.pbxproj: Ditto
2483         * css/CSSComputedStyleDeclaration.cpp: Translate WrapShapes back to CSSWrapShapes
2484         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2485         * css/CSSWrapShapes.h: Mostly changing functions to be const
2486         (WebCore::CSSWrapShapeRectangle::type):
2487         (WebCore::CSSWrapShapeCircle::type):
2488         (WebCore::CSSWrapShapeEllipse::type):
2489         (WebCore::CSSWrapShapePolygon::getXAt):
2490         (WebCore::CSSWrapShapePolygon::getYAt):
2491         (WebCore::CSSWrapShapePolygon::values):
2492         (WebCore::CSSWrapShapePolygon::type):
2493         * css/StyleBuilder.cpp: Resolve CSSWrapShapes to WrapShapes
2494         (WebCore):
2495         (WebCore::ApplyPropertyWrapShape::setValue):
2496         (WebCore::ApplyPropertyWrapShape::applyValue):
2497         (WebCore::ApplyPropertyWrapShape::createHandler):
2498         * css/WrapShapeFunctions.cpp: Added.
2499         (WebCore):
2500         (WebCore::valueForWrapShape):
2501         (WebCore::convertToLength):
2502         (WebCore::wrapShapeForValue):
2503         * css/WrapShapeFunctions.h: Added.
2504         (WebCore):
2505         * rendering/style/RenderStyle.h:
2506         * rendering/style/StyleRareNonInheritedData.h:
2507         (StyleRareNonInheritedData):
2508         * rendering/style/WrapShapes.h: Added.
2509         (WebCore):
2510         (WrapShape):
2511         (WebCore::WrapShape::~WrapShape):
2512         (WebCore::WrapShape::WrapShape):
2513         (WrapShapeRectangle):
2514         (WebCore::WrapShapeRectangle::create):
2515         (WebCore::WrapShapeRectangle::left):
2516         (WebCore::WrapShapeRectangle::top):
2517         (WebCore::WrapShapeRectangle::width):
2518         (WebCore::WrapShapeRectangle::height):
2519         (WebCore::WrapShapeRectangle::cornerRadiusX):
2520         (WebCore::WrapShapeRectangle::cornerRadiusY):
2521         (WebCore::WrapShapeRectangle::setLeft):
2522         (WebCore::WrapShapeRectangle::setTop):
2523         (WebCore::WrapShapeRectangle::setWidth):
2524         (WebCore::WrapShapeRectangle::setHeight):
2525         (WebCore::WrapShapeRectangle::setCornerRadiusX):
2526         (WebCore::WrapShapeRectangle::setCornerRadiusY):
2527         (WebCore::WrapShapeRectangle::type):
2528         (WebCore::WrapShapeRectangle::WrapShapeRectangle):
2529         (WrapShapeCircle):
2530         (WebCore::WrapShapeCircle::create):
2531         (WebCore::WrapShapeCircle::left):
2532         (WebCore::WrapShapeCircle::top):
2533         (WebCore::WrapShapeCircle::radius):
2534         (WebCore::WrapShapeCircle::setLeft):
2535         (WebCore::WrapShapeCircle::setTop):
2536         (WebCore::WrapShapeCircle::setRadius):
2537         (WebCore::WrapShapeCircle::type):
2538         (WebCore::WrapShapeCircle::WrapShapeCircle):
2539         (WrapShapeEllipse):
2540         (WebCore::WrapShapeEllipse::create):
2541         (WebCore::WrapShapeEllipse::top):
2542         (WebCore::WrapShapeEllipse::left):
2543         (WebCore::WrapShapeEllipse::radiusX):
2544         (WebCore::WrapShapeEllipse::radiusY):
2545         (WebCore::WrapShapeEllipse::setTop):
2546         (WebCore::WrapShapeEllipse::setLeft):
2547         (WebCore::WrapShapeEllipse::setRadiusX):
2548         (WebCore::WrapShapeEllipse::setRadiusY):
2549         (WebCore::WrapShapeEllipse::type):
2550         (WebCore::WrapShapeEllipse::WrapShapeEllipse):
2551         (WrapShapePolygon):
2552         (WebCore::WrapShapePolygon::create):
2553         (WebCore::WrapShapePolygon::windRule):
2554         (WebCore::WrapShapePolygon::values):
2555         (WebCore::WrapShapePolygon::getXAt):
2556         (WebCore::WrapShapePolygon::getYAt):
2557         (WebCore::WrapShapePolygon::setWindRule):
2558         (WebCore::WrapShapePolygon::appendPoint):
2559         (WebCore::WrapShapePolygon::type):
2560         (WebCore::WrapShapePolygon::WrapShapePolygon):
2561
2562 2012-07-16  Simon Fraser  <simon.fraser@apple.com>
2563
2564         Fix compositing layers in columns when in paginated mode
2565         https://bugs.webkit.org/show_bug.cgi?id=91425
2566
2567         Reviewed by Dave Hyatt.
2568
2569         Enhance a hack that was added to allow composited layers to
2570         display in columns to work for paginated mode, where the
2571         RenderView is renderer with columns.
2572
2573         Test: compositing/columns/composited-in-paginated.html
2574
2575         * rendering/RenderLayer.cpp:
2576         (WebCore::RenderLayer::updateLayerPosition):
2577
2578 2012-07-16  Emil A Eklund  <eae@chromium.org>
2579
2580         Inconsistent rounding in table layout causes background color to bleed through
2581         https://bugs.webkit.org/show_bug.cgi?id=91410
2582
2583         Reviewed by Eric Seidel.
2584
2585         At certain zoom levels a rounding error in the table layout code cases
2586         the table background color to bleed through between cells. Tables layout
2587         happens on pixel bounds however the paint offset wasn't correctly rounded.
2588
2589         Test: fast/sub-pixel/table-rows-no-gaps.html
2590
2591         * rendering/RenderTable.cpp:
2592         (WebCore::RenderTable::paintObject):
2593         Round paintOffset before passing it to the paint method of the children.
2594
2595 2012-07-16  Sheriff Bot  <webkit.review.bot@gmail.com>
2596
2597         Unreviewed, rolling out r122739.
2598         http://trac.webkit.org/changeset/122739
2599         https://bugs.webkit.org/show_bug.cgi?id=91424
2600
2601         Broke mac builds (Requested by rniwa on #webkit).
2602
2603         * inspector/CodeGeneratorInspector.py:
2604         (flatten_list):
2605
2606 2012-07-16  Dana Jansens  <danakj@chromium.org>
2607
2608         [chromium] Remove non-ephemeral data from RenderSurface as it duplicates data from the owning layer
2609         https://bugs.webkit.org/show_bug.cgi?id=91418
2610
2611         Reviewed by Adrienne Walker.
2612
2613         This removes the filters and masks from render surfaces, and makes them
2614         used directly from the owning layer. Also removes skipsDraw from
2615         surfaces as it was just not used at all.
2616
2617         Covered by existing tests.
2618
2619         * platform/graphics/chromium/LayerChromium.h:
2620         (WebCore::LayerChromium::filters):
2621         (WebCore::LayerChromium::backgroundFilters):
2622         (WebCore::LayerChromium::hasMask):
2623         (WebCore::LayerChromium::hasReplica):
2624         (WebCore::LayerChromium::replicaHasMask):
2625         (LayerChromium):
2626         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
2627         (WebCore::RenderSurfaceChromium::RenderSurfaceChromium):
2628         * platform/graphics/chromium/RenderSurfaceChromium.h:
2629         (RenderSurfaceChromium):
2630         * platform/graphics/chromium/cc/CCLayerImpl.h:
2631         (WebCore::CCLayerImpl::hasMask):
2632         (WebCore::CCLayerImpl::hasReplica):
2633         (WebCore::CCLayerImpl::replicaHasMask):
2634         (CCLayerImpl):
2635         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2636         (WebCore::CCLayerTreeHost::calculateMemoryForRenderSurfaces):
2637         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
2638         (WebCore::calculateDrawTransformsInternal):
2639         * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
2640         (WebCore::::finishedRenderTarget):
2641         (WebCore::reduceOcclusionBelowSurface):
2642         (WebCore::::leaveToRenderTarget):
2643         * platform/graphics/chromium/cc/CCRenderPass.cpp:
2644         (WebCore::CCRenderPass::appendQuadsForRenderSurfaceLayer):
2645         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
2646         (WebCore::CCRenderSurface::drawableContentRect):
2647         (WebCore::CCRenderSurface::appendQuads):
2648         * platform/graphics/chromium/cc/CCRenderSurface.h:
2649         (CCRenderSurface):
2650
2651 2012-07-16  Beth Dakin  <bdakin@apple.com>
2652
2653         https://bugs.webkit.org/show_bug.cgi?id=91299
2654         Paginated views should restrict available height to column height
2655         -and corresponding-
2656         <rdar://problem/11152108>
2657
2658         Reviewed by Dan Bernstein.
2659
2660         Now that RenderViews can have columns, availableLogicalHeight needs to consider 
2661         that column height, much like how availableLogicalWidth already considers column 
2662         width.
2663
2664         availableLogicalHeight is newly virtual, like the already-virtual 
2665         availableLogicalWidth.
2666         * rendering/RenderBox.h:
2667         (RenderBox):
2668
2669         Check with the columnHeight.
2670         * rendering/RenderView.cpp:
2671         (WebCore):
2672         (WebCore::RenderView::availableLogicalHeight):
2673         * rendering/RenderView.h:
2674
2675         setPagination now takes pageLength as an optional parameter. 
2676         * testing/InternalSettings.cpp:
2677         (WebCore::InternalSettings::setPagination):
2678         * testing/InternalSettings.h:
2679         (WebCore::InternalSettings::setPagination):
2680         (InternalSettings):
2681         * testing/InternalSettings.idl:
2682         * testing/Internals.cpp:
2683         (WebCore::Internals::setPagination):
2684         * testing/Internals.h:
2685         (WebCore::Internals::setPagination):
2686         (Internals):
2687         * testing/Internals.idl:
2688
2689 2012-07-16  Dana Jansens  <danakj@chromium.org>
2690
2691         [chromium] Remove targetRenderSurface concept, give layers a renderTarget which is the layer whose coordinate space they draw into
2692         https://bugs.webkit.org/show_bug.cgi?id=91288
2693
2694         Reviewed by Adrienne Walker.
2695
2696         Always use pointers to layers when discussing render targets instead of
2697         pointing directly to a RenderSurface.
2698
2699         Covered by existing tests.
2700
2701         * platform/graphics/chromium/LayerChromium.cpp:
2702         (WebCore::LayerChromium::LayerChromium):
2703         (WebCore::LayerChromium::createRenderSurface):
2704         * platform/graphics/chromium/LayerChromium.h:
2705         (WebCore::LayerChromium::renderTarget):
2706         (WebCore::LayerChromium::setRenderTarget):
2707         (LayerChromium):
2708         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
2709         * platform/graphics/chromium/RenderSurfaceChromium.h:
2710         * platform/graphics/chromium/ScrollbarLayerChromium.cpp:
2711         (WebCore::ScrollbarLayerChromium::setTexturePriorities):
2712         * platform/graphics/chromium/TiledLayerChromium.cpp:
2713         (WebCore::TiledLayerChromium::setTexturePrioritiesInRect):
2714         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
2715         (WebCore::CCLayerImpl::CCLayerImpl):
2716         (WebCore::CCLayerImpl::createRenderSurface):
2717         (WebCore::CCLayerImpl::dumpLayerProperties):
2718         * platform/graphics/chromium/cc/CCLayerImpl.h:
2719         (WebCore::CCLayerImpl::renderTarget):
2720         (WebCore::CCLayerImpl::setRenderTarget):
2721         (CCLayerImpl):
2722         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
2723         (WebCore::calculateLayerScissorRect):
2724         (WebCore::calculateSurfaceScissorRect):
2725         (WebCore::calculateVisibleContentRect):
2726         (WebCore::computeScrollCompensationForThisLayer):
2727         (WebCore::calculateDrawTransformsInternal):
2728         (WebCore::pointIsClippedBySurfaceOrClipRect):
2729         * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
2730         (WebCore::::enterLayer):
2731         (WebCore::::leaveLayer):
2732         (WebCore::::enterRenderTarget):
2733         (WebCore::::finishedRenderTarget):
2734         (WebCore):
2735         (WebCore::reduceOcclusionBelowSurface):
2736         (WebCore::::leaveToRenderTarget):
2737         (WebCore::::markOccludedBehindLayer):
2738         (WebCore::::occluded):
2739         (WebCore::::unoccludedContentRect):
2740         (WebCore::::unoccludedContributingSurfaceContentRect):
2741         (WebCore::::layerScissorRectInTargetSurface):
2742         * platform/graphics/chromium/cc/CCOcclusionTracker.h:
2743         (CCOcclusionTrackerBase):
2744         (WebCore::CCOcclusionTrackerBase::StackObject::StackObject):
2745         (StackObject):
2746         * platform/graphics/chromium/cc/CCQuadCuller.cpp:
2747         (WebCore::CCQuadCuller::appendSurface):
2748         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
2749         * platform/graphics/chromium/cc/CCRenderSurface.h:
2750         (CCRenderSurface):
2751
2752 2012-07-16  Florin Malita  <fmalita@chromium.org>
2753
2754         SVGAnimationElement::currentValuesForValuesAnimation crash
2755         https://bugs.webkit.org/show_bug.cgi?id=91326
2756
2757         Reviewed by Simon Fraser.
2758
2759         SVGSMILElement::progress() assumes that seekToIntervalCorrespondingToTime() always
2760         lands inside a defined interval, but one can force arbitrary time offsets using
2761         setCurrentTime(). This patch adds logic for handling non-interval time offsets
2762         gracefully.
2763
2764         Test: svg/animations/smil-setcurrenttime-crash.svg
2765
2766         * svg/animation/SVGSMILElement.cpp:
2767         (WebCore::SVGSMILElement::progress):
2768
2769 2012-07-16  Joshua Netterfield  <jnetterfield@rim.com>
2770
2771         [BlackBerry] Upstream WebGL Code
2772         https://bugs.webkit.org/show_bug.cgi?id=91143
2773
2774         Reviewed by Rob Buis.
2775
2776         This patch includes BlackBerry-specific fixes for anti-aliasing, logging, and shader compilation.
2777
2778         No new tests, because there is no new functionality.
2779
2780         * platform/graphics/GraphicsContext3D.h: Add a value for TI Imagination chipsets on BlackBerry platforms
2781         * platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp: Multiple downstream changes
2782         (WebCore::GraphicsContext3D::GraphicsContext3D):
2783         (WebCore::GraphicsContext3D::reshapeFBOs):
2784         (WebCore):
2785         (WebCore::GraphicsContext3D::logFrameBufferStatus):
2786         (WebCore::GraphicsContext3D::readPixelsIMG): BlackBerry-specific fix for Imagination hardware.
2787         (WebCore::GraphicsContext3D::paintsIntoCanvasBuffer):
2788         (WebCore::GraphicsContext3D::platformTexture):
2789         (WebCore::GraphicsContext3D::platformGraphicsContext3D):
2790         (WebCore::GraphicsContext3D::paintToCanvas):
2791         * platform/graphics/opengl/Extensions3DOpenGL.h: Remove unnecessary whitespace.
2792         (Extensions3DOpenGL):
2793         * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
2794         (WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE): Hack to fix ANGLE-generated code on BlackBerry platforms.
2795         * platform/graphics/opengl/Extensions3DOpenGLCommon.h:
2796         (Extensions3DOpenGLCommon):
2797         * platform/graphics/opengl/Extensions3DOpenGLES.cpp: I am not in a position to change system headers from correct to incorrect.
2798         (WebCore::Extensions3DOpenGLES::renderbufferStorageMultisample):
2799         (WebCore::Extensions3DOpenGLES::supportsExtension):
2800         * platform/graphics/opengl/Extensions3DOpenGLES.h: I am not in a position to change system headers from correct to incorrect.
2801         (Extensions3DOpenGLES):
2802         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp: Add a BlackBerry-specific anti-aliasing fix.
2803         (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
2804         (WebCore::GraphicsContext3D::prepareTexture):
2805         (WebCore::GraphicsContext3D::bindFramebuffer):
2806         (WebCore::GraphicsContext3D::compileShader):
2807         (WebCore::GraphicsContext3D::copyTexImage2D):
2808         (WebCore::GraphicsContext3D::copyTexSubImage2D):
2809         (WebCore):
2810         * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
2811         (WebCore):
2812
2813 2012-07-16  Tony Chang  <tony@chromium.org>
2814
2815         Position grid items by row/column index
2816         https://bugs.webkit.org/show_bug.cgi?id=91293
2817
2818         Reviewed by Ojan Vafai.
2819
2820         Do some initial grid positioning. Only handle the simple case where tracks are
2821         fixed values and don't properly size the grid items. This gives us something to
2822         work with and starts implementing the "Grid Track Sizing Algorithm":
2823         http://dev.w3.org/csswg/css3-grid-layout/#grid-track-sizing-algorithm0
2824
2825         Test: fast/css-grid-layout/place-cell-by-index.html
2826
2827         * rendering/RenderGrid.cpp:
2828         (RenderGrid::GridTrack): Data structure for holding the track size. UsedBreadth matches the terminology
2829         used in the spec.
2830         (WebCore::RenderGrid::layoutBlock): Pull in some boiler plate code and put the
2831         grid specific code in layoutGridItems.
2832         (WebCore::RenderGrid::computedUsedBreadthOfGridTracks): Implement part of the grid track sizing algorithm.
2833         (WebCore::RenderGrid::layoutGridItems): Compute the size of grid tracks, layout and position children.
2834         (WebCore::RenderGrid::findChildLogicalPosition): Map track sizes to the actual position of the child.
2835         * rendering/RenderGrid.h:
2836         * rendering/style/RenderStyle.h: Just return a copy of Length rather than a reference to Length. This seems
2837         more consistent with other getters that return a Length.
2838
2839 2012-07-16  Sami Kyostila  <skyostil@chromium.org>
2840
2841         [chromium] Only apply page scale delta to root scroll layer
2842         https://bugs.webkit.org/show_bug.cgi?id=91374
2843
2844         Reviewed by Adrienne Walker.
2845
2846         When the user pinch-zooms the web page though the Chromium compositor, the
2847         per-layer page scale delta is used to keep track of the difference between the
2848         page scale on the compositor thread versus the main thread. On the next
2849         commit to the main thread these values are reset to 1.
2850
2851         When calculating layer positions, the compositor applies a layer's page scale
2852         delta both to the layer itself as well as all of its children. Since we are
2853         currently updating the page scale delta on all scrollable layers, this results
2854         in scrollable child layers getting scaled multiple times.
2855
2856         This patch changes the compositor to only apply the page scale delta on the
2857         root scroll layer.
2858
2859         New unit test: CCLayerTreeHostImplTest.pageScaleDeltaAppliedToRootScrollLayerOnly
2860
2861         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2862         (WebCore::CCLayerTreeHostImpl::setPageScaleFactorAndLimits):
2863         (WebCore::CCLayerTreeHostImpl::setPageScaleDelta):
2864
2865 2012-07-16  Kihong Kwon  <kihong.kwon@samsung.com>
2866
2867         Remove setController from BatteryClient
2868         https://bugs.webkit.org/show_bug.cgi?id=90944
2869
2870         Reviewed by Adam Barth.
2871
2872         BatteryClient doesn't need to keep m_controller,
2873         because BatteryController can be accessed using BatteryController::from().
2874         Remove BatteryClient::setController function.
2875
2876         No new tests. Covered by existing tests.
2877
2878         * Modules/battery/BatteryClient.h:
2879         * Modules/battery/BatteryController.cpp:
2880         (WebCore::BatteryController::BatteryController):
2881
2882 2012-07-16  Mike West  <mkwst@chromium.org>
2883
2884         Invalid `script-nonce` directives should block script execution.
2885         https://bugs.webkit.org/show_bug.cgi?id=91353
2886
2887         Reviewed by Adam Barth.
2888
2889         If the `script-nonce` Content Security Policy directive contains an
2890         invalid value, we should fail loudly, throwing a warning to the console
2891         and denying execution of script on the page. The is in line with the
2892         current state of the experimental CSP 1.1 Editors Draft[1].
2893
2894         [1]: https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html#script-nonce--experimental
2895
2896         Test: http/tests/security/contentSecurityPolicy/1.1/scriptnonce-invalidnonce.html
2897
2898         * page/ContentSecurityPolicy.cpp:
2899         (WebCore::CSPDirectiveList::checkNonceAndReportViolation):
2900             Check against null rather than empty for early exit, otherwise
2901             only compare nonces if the stored nonce isn't empty.
2902         (WebCore::CSPDirectiveList::parseScriptNonce):
2903             Assign the empty string if nonce is invalid.
2904
2905 2012-07-16  Min Qin  <qinmin@chromium.org>
2906
2907         [Android] remove RenderThemeChromiumAndroid::paintMediaFullscreenButton()
2908         https://bugs.webkit.org/show_bug.cgi?id=91291
2909
2910         Reviewed by Adam Barth.
2911
2912         The recent media control refactoring added paintMediaFullscreenButton() in RenderThemeChromiumSkia.
2913         Since RenderThemeChromiumAndroid inherits from that class, we don't need to redefine this function.
2914         No test needed as this change just removes an unnecessary override.
2915
2916         * rendering/RenderThemeChromiumAndroid.cpp:
2917         * rendering/RenderThemeChromiumAndroid.h:
2918
2919 2012-07-16  Peter Rybin  <peter.rybin@gmail.com>
2920
2921         Web Inspector: CodeGeneratorInspector.py: fix output write logic to support incremental build
2922         https://bugs.webkit.org/show_bug.cgi?id=90642
2923
2924         Reviewed by Yury Semikhatsky.
2925
2926         A small intermediate writer is added. It handles comparing old and new source before actual writing.
2927
2928         * inspector/CodeGeneratorInspector.py:
2929         (flatten_list):
2930         (SmartOutput):
2931         (SmartOutput.__init__):
2932         (SmartOutput.write):
2933         (SmartOutput.close):
2934
2935 2012-07-16  Dana Jansens  <danakj@chromium.org>
2936
2937         [chromium] Incorrect assertion: Replicas will cause a RenderPass to be removed twice
2938         https://bugs.webkit.org/show_bug.cgi?id=91328
2939
2940         Reviewed by Adrienne Walker.
2941
2942         We asserted that we would never attempt to remove a render pass that had
2943         already been removed. This was incorrect as a surface with a replica has
2944         two quads and both may cause us to attempt its removal. We must handle
2945         this case gracefully.
2946
2947         Test: CCLayerTreeHostTestSurfaceNotAllocatedForLayersOutsideMemoryLimit
2948
2949         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2950         (WebCore::CCLayerTreeHostImpl::CullRenderPassesWithNoQuads::shouldRemoveRenderPass):
2951
2952 2012-07-16  Ilya Tikhonovsky  <loislo@chromium.org>
2953
2954         Web Inspector: native memory: fix instrumentation for string members
2955         https://bugs.webkit.org/show_bug.cgi?id=91384
2956
2957         Reviewed by Pavel Feldman.
2958
2959         It was possible to report a string member via addMember instead of addString.
2960         This patch is fixing the problem and adding a link time guard.
2961
2962         Covered by existing inspector performance tests infrastructure.
2963
2964         * dom/ElementAttributeData.h:
2965         (WebCore::ElementAttributeData::reportMemoryUsage):
2966         * dom/MemoryInstrumentation.h:
2967         (WebCore):
2968         (WebCore::MemoryClassInfo::addString):
2969         * dom/QualifiedName.h:
2970         (WebCore::QualifiedName::QualifiedNameImpl::reportMemoryUsage):
2971
2972 2012-07-16  Zoltan Horvath  <zoltan@webkit.org>
2973
2974         Unreviewed. Remove unnecessary executable bits after r122720.
2975
2976         * platform/graphics/ImageSource.h:
2977         * platform/graphics/qt/ImageBufferQt.cpp:
2978         * platform/graphics/qt/ImageDecoderQt.cpp:
2979         * platform/graphics/qt/ImageQt.cpp:
2980         * platform/graphics/qt/StillImageQt.h:
2981         * platform/graphics/qt/TransparencyLayer.h:
2982
2983 2012-07-16  Zoltan Horvath  <zoltan@webkit.org>
2984
2985         [Qt] Change NativeImagePtr from QPixmap* to QImage*
2986         https://bugs.webkit.org/show_bug.cgi?id=88785
2987
2988         Reviewed by Simon Hausmann.
2989
2990         Since we use raster engine there is no difference between QPixmap and QImage, so we are going
2991         to use QImage everywhere where it is possible. This refactoring contains the change of the
2992         NativeImagePtr typedef from QPixmap* to QImage* and covers the related modifications.
2993
2994         Part of the change is similar to Viatcheslav Ostapenko's internal work.
2995
2996         Covered by existing tests.
2997
2998         * bridge/qt/qt_pixmapruntime.cpp:
2999         (JSC::Bindings::QtPixmapAssignToElementMethod::invoke):
3000         (JSC::Bindings::QtPixmapInstance::variantFromObject):
3001         * platform/DragImage.h:
3002         (WebCore):
3003         * platform/graphics/GraphicsContext.h:
3004         (GraphicsContext):
3005         * platform/graphics/Image.h:
3006         (Image):
3007         * platform/graphics/ImageSource.h:
3008         (WebCore):
3009         * platform/graphics/gstreamer/ImageGStreamer.h:
3010         * platform/graphics/gstreamer/ImageGStreamerQt.cpp:
3011         (ImageGStreamer::ImageGStreamer):
3012         * platform/graphics/qt/GraphicsContext3DQt.cpp:
3013         (WebCore::GraphicsContext3D::getImageData):
3014         * platform/graphics/qt/GraphicsContextQt.cpp:
3015         (WebCore::GraphicsContext::pushTransparencyLayerInternal):
3016         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
3017         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
3018         * platform/graphics/qt/ImageBufferDataQt.h:
3019         (ImageBufferData):
3020         * platform/graphics/qt/ImageBufferQt.cpp:
3021         (WebCore::ImageBufferData::ImageBufferData):
3022         (WebCore::ImageBuffer::copyImage):
3023         (WebCore::ImageBuffer::clip):
3024         (WebCore::ImageBuffer::platformTransformColorSpace):
3025         (WebCore::getImageData):
3026         (WebCore::ImageBuffer::putByteArray):
3027         (WebCore::encodeImage):
3028         (WebCore::ImageBuffer::toDataURL):
3029         * platform/graphics/qt/ImageDecoderQt.cpp:
3030         (WebCore::ImageFrame::asNewNativeImage):
3031         * platform/graphics/qt/ImageQt.cpp:
3032         (graphics):
3033         (loadResourceImage):
3034         (WebCore::Image::loadPlatformResource):
3035         (WebCore::Image::setPlatformResource):
3036         (WebCore::Image::drawPattern):
3037         (WebCore::BitmapImage::BitmapImage):
3038         (WebCore::BitmapImage::draw):
3039         (WebCore::BitmapImage::checkForSolidColor):
3040         (WebCore::BitmapImage::create):
3041         * platform/graphics/qt/NativeImageQt.h: Added.
3042         (WebCore):
3043         (NativeImageQt):
3044         (WebCore::NativeImageQt::defaultFormatForAlphaEnabledImages):
3045         (WebCore::NativeImageQt::defaultFormatForOpaqueImages):
3046          * platform/graphics/qt/PatternQt.cpp:
3047         (WebCore::Pattern::createPlatformPattern):
3048         * platform/graphics/qt/StillImageQt.cpp:
3049         (WebCore::StillImage::StillImage):
3050         (WebCore::StillImage::~StillImage):
3051         (WebCore::StillImage::currentFrameHasAlpha):
3052         (WebCore::StillImage::size):
3053         (WebCore::StillImage::nativeImageForCurrentFrame):
3054         (WebCore::StillImage::draw):
3055         * platform/graphics/qt/StillImageQt.h:
3056         (WebCore::StillImage::create):
3057         (WebCore::StillImage::createForRendering):
3058         (StillImage):
3059         * platform/graphics/qt/TransparencyLayer.h:
3060         (WebCore::TransparencyLayer::TransparencyLayer):
3061         (TransparencyLayer):
3062         * platform/graphics/texmap/TextureMapperGL.cpp:
3063         * platform/graphics/surfaces/qt/GraphicsSurfaceQt.cpp:
3064         (WebCore::GraphicsSurface::createReadOnlyImage):
3065          * platform/qt/ClipboardQt.cpp:
3066         (WebCore::ClipboardQt::createDragImage):
3067         (WebCore::ClipboardQt::declareAndWriteDragImage):
3068         * platform/qt/CursorQt.cpp:
3069         (WebCore::createCustomCursor):
3070         * platform/qt/DragImageQt.cpp:
3071         (WebCore::createDragImageFromImage):
3072         * platform/qt/PasteboardQt.cpp:
3073         (WebCore::Pasteboard::writeImage):
3074
3075 2012-07-16  Ilya Tikhonovsky  <loislo@chromium.org>
3076
3077         Web Inspector: moving forward to the better memory instrumentation API
3078         https://bugs.webkit.org/show_bug.cgi?id=91259
3079
3080         Reviewed by Pavel Feldman.
3081
3082         I'm trying to remove unnecessary complexity of the API
3083         reportInstrumentedObject and reportInstrumentedPointer will be replaced with addInstrumentedMember
3084         The same will happen with reportPointer, reportObject pair.
3085         Also info.report* will be replaced with info.add*
3086
3087         * bindings/js/ScriptWrappable.h:
3088         (WebCore::ScriptWrappable::reportMemoryUsage):
3089         * bindings/v8/DOMDataStore.cpp:
3090         (WebCore::DOMDataStore::reportMemoryUsage):
3091         * bindings/v8/IntrusiveDOMWrapperMap.h:
3092         (WebCore::ChunkedTable::reportMemoryUsage):
3093         * bindings/v8/ScriptProfiler.cpp:
3094         (WebCore::ScriptProfiler::collectBindingMemoryInfo):
3095         * bindings/v8/ScriptWrappable.h:
3096         (WebCore::ScriptWrappable::reportMemoryUsage):
3097         * bindings/v8/V8Binding.cpp:
3098         (WebCore::V8BindingPerIsolateData::reportMemoryUsage):
3099         (WebCore::StringCache::reportMemoryUsage):
3100         * bindings/v8/V8DOMMap.h:
3101         * css/StylePropertySet.h:
3102         (WebCore::StylePropertySet::reportMemoryUsage):
3103         * dom/CharacterData.cpp:
3104         (WebCore::CharacterData::reportMemoryUsage):
3105         * dom/ContainerNode.h:
3106         (WebCore::ContainerNode::reportMemoryUsage):
3107         * dom/Document.cpp:
3108         (WebCore::Document::reportMemoryUsage):
3109         * dom/Element.h:
3110         (WebCore::Element::reportMemoryUsage):
3111         * dom/ElementAttributeData.h:
3112         (WebCore::ElementAttributeData::reportMemoryUsage):
3113         * dom/MemoryInstrumentation.h:
3114         (WebCore::MemoryInstrumentation::addInstrumentedMember):
3115         (MemoryInstrumentation):
3116         (WebCore::MemoryInstrumentation::addMember):
3117         (WebCore::MemoryInstrumentation::OwningTraits::addInstrumentedMember):
3118         (WebCore::MemoryInstrumentation::OwningTraits::addMember):
3119         (WebCore::MemoryInstrumentation::addInstrumentedMemberImpl):
3120         (WebCore::MemoryInstrumentation::addMemberImpl):
3121         (WebCore::MemoryClassInfo::addInstrumentedMember):
3122         (WebCore::MemoryClassInfo::addMember):
3123         (WebCore::MemoryClassInfo::addHashMap):
3124         (WebCore::MemoryClassInfo::addHashSet):
3125         (WebCore::MemoryClassInfo::addListHashSet):
3126         (WebCore::MemoryClassInfo::addVector):
3127         (WebCore::MemoryClassInfo::addString):
3128         (WebCore::MemoryInstrumentation::addHashMap):
3129         (WebCore::MemoryInstrumentation::addHashSet):
3130         (WebCore::MemoryInstrumentation::addListHashSet):
3131         (WebCore::MemoryInstrumentation::addVector):
3132         * dom/Node.cpp:
3133         (WebCore::Node::reportMemoryUsage):
3134         * dom/QualifiedName.h:
3135         (WebCore::QualifiedName::QualifiedNameImpl::reportMemoryUsage):
3136         (WebCore::QualifiedName::reportMemoryUsage):
3137         * inspector/InspectorMemoryAgent.cpp:
3138         (WebCore):
3139         * platform/TreeShared.h:
3140         (WebCore::TreeShared::reportMemoryUsage):
3141
3142 2012-07-16  Sheriff Bot  <webkit.review.bot@gmail.com>
3143
3144         Unreviewed, rolling out r122714.
3145         http://trac.webkit.org/changeset/122714
3146         https://bugs.webkit.org/show_bug.cgi?id=91380
3147
3148         It broke mac compilation (Requested by loislo on #webkit).
3149
3150         * bindings/js/ScriptWrappable.h:
3151         (WebCore::ScriptWrappable::reportMemoryUsage):
3152         * bindings/v8/DOMDataStore.cpp:
3153         (WebCore::DOMDataStore::reportMemoryUsage):
3154         * bindings/v8/IntrusiveDOMWrapperMap.h:
3155         (WebCore::ChunkedTable::reportMemoryUsage):
3156         * bindings/v8/ScriptProfiler.cpp:
3157         (WebCore::ScriptProfiler::collectBindingMemoryInfo):
3158         * bindings/v8/ScriptWrappable.h:
3159         (WebCore::ScriptWrappable::reportMemoryUsage):
3160         * bindings/v8/V8Binding.cpp:
3161         (WebCore::V8BindingPerIsolateData::reportMemoryUsage):
3162         (WebCore::StringCache::reportMemoryUsage):
3163         * bindings/v8/V8DOMMap.h:
3164         * css/StylePropertySet.h:
3165         (WebCore::StylePropertySet::reportMemoryUsage):
3166         * dom/CharacterData.cpp:
3167         (WebCore::CharacterData::reportMemoryUsage):
3168         * dom/ContainerNode.h:
3169         (WebCore::ContainerNode::reportMemoryUsage):
3170         * dom/Document.cpp:
3171         (WebCore::Document::reportMemoryUsage):
3172         * dom/Element.h:
3173         (WebCore::Element::reportMemoryUsage):
3174         * dom/ElementAttributeData.h:
3175         (WebCore::ElementAttributeData::reportMemoryUsage):
3176         * dom/MemoryInstrumentation.h:
3177         (WebCore::MemoryInstrumentation::reportObject):
3178         (MemoryInstrumentation):
3179         (WebCore::MemoryInstrumentation::reportPointer):
3180         (WebCore::MemoryClassInfo::reportInstrumentedPointer):
3181         (WebCore::MemoryClassInfo::reportInstrumentedObject):
3182         (WebCore::MemoryClassInfo::reportPointer):
3183         (WebCore::MemoryClassInfo::reportObject):
3184         (WebCore::MemoryClassInfo::reportHashMap):
3185         (WebCore::MemoryClassInfo::reportHashSet):
3186         (WebCore::MemoryClassInfo::reportListHashSet):
3187         (WebCore::MemoryClassInfo::reportVector):
3188         (MemoryClassInfo):
3189         (WebCore::MemoryClassInfo::reportString):
3190         (WebCore):
3191         (WebCore::MemoryInstrumentation::reportInstrumentedPointer):
3192         (WebCore::MemoryInstrumentation::reportInstrumentedObject):
3193         (WebCore::MemoryInstrumentation::reportHashMap):
3194         (WebCore::MemoryInstrumentation::reportHashSet):
3195         (WebCore::MemoryInstrumentation::reportListHashSet):
3196         (WebCore::MemoryInstrumentation::reportVector):
3197         * dom/Node.cpp:
3198         (WebCore::Node::reportMemoryUsage):
3199         * dom/QualifiedName.h:
3200         (WebCore::QualifiedName::QualifiedNameImpl::reportMemoryUsage):
3201         (WebCore::QualifiedName::reportMemoryUsage):
3202         * inspector/InspectorMemoryAgent.cpp:
3203         (WebCore):
3204         * platform/TreeShared.h:
3205         (WebCore::TreeShared::reportMemoryUsage):
3206
3207 2012-07-16  Ilya Tikhonovsky  <loislo@chromium.org>
3208
3209         Web Inspector: moving forward to the better memory instrumentation API
3210         https://bugs.webkit.org/show_bug.cgi?id=91259
3211
3212         Reviewed by Pavel Feldman.
3213
3214         I'm trying to remove unnecessary complexity of the API
3215         reportInstrumentedObject and reportInstrumentedPointer will be replaced with addInstrumentedMember
3216         The same will happen with reportPointer, reportObject pair.
3217         Also info.report* will be replaced with info.add*
3218
3219         * bindings/js/ScriptWrappable.h:
3220         (WebCore::ScriptWrappable::reportMemoryUsage):
3221         * bindings/v8/DOMDataStore.cpp:
3222         (WebCore::DOMDataStore::reportMemoryUsage):
3223         * bindings/v8/IntrusiveDOMWrapperMap.h:
3224         (WebCore::ChunkedTable::reportMemoryUsage):
3225         * bindings/v8/ScriptProfiler.cpp:
3226         (WebCore::ScriptProfiler::collectBindingMemoryInfo):
3227         * bindings/v8/ScriptWrappable.h:
3228         (WebCore::ScriptWrappable::reportMemoryUsage):
3229         * bindings/v8/V8Binding.cpp:
3230         (WebCore::V8BindingPerIsolateData::reportMemoryUsage):
3231         (WebCore::StringCache::reportMemoryUsage):
3232         * bindings/v8/V8DOMMap.h:
3233         * css/StylePropertySet.h:
3234         (WebCore::StylePropertySet::reportMemoryUsage):
3235         * dom/CharacterData.cpp:
3236         (WebCore::CharacterData::reportMemoryUsage):
3237         * dom/ContainerNode.h:
3238         (WebCore::ContainerNode::reportMemoryUsage):
3239         * dom/Document.cpp:
3240         (WebCore::Document::reportMemoryUsage):
3241         * dom/Element.h:
3242         (WebCore::Element::reportMemoryUsage):
3243         * dom/ElementAttributeData.h:
3244         (WebCore::ElementAttributeData::reportMemoryUsage):
3245         * dom/MemoryInstrumentation.h:
3246         (WebCore::MemoryInstrumentation::addInstrumentedMember):
3247         (MemoryInstrumentation):
3248         (WebCore::MemoryInstrumentation::addMember):
3249         (WebCore::MemoryInstrumentation::OwningTraits::addInstrumentedMember):
3250         (WebCore::MemoryInstrumentation::OwningTraits::addMember):
3251         (WebCore::MemoryInstrumentation::addInstrumentedMemberImpl):
3252         (WebCore::MemoryInstrumentation::addMemberImpl):
3253         (WebCore::MemoryClassInfo::addInstrumentedMember):
3254         (WebCore::MemoryClassInfo::addMember):
3255         (WebCore::MemoryClassInfo::addHashMap):
3256         (WebCore::MemoryClassInfo::addHashSet):
3257         (WebCore::MemoryClassInfo::addListHashSet):
3258         (WebCore::MemoryClassInfo::addVector):
3259         (WebCore::MemoryClassInfo::addString):
3260         (WebCore::MemoryInstrumentation::addHashMap):
3261         (WebCore::MemoryInstrumentation::addHashSet):
3262         (WebCore::MemoryInstrumentation::addListHashSet):
3263         (WebCore::MemoryInstrumentation::addVector):
3264         * dom/Node.cpp:
3265         (WebCore::Node::reportMemoryUsage):
3266         * dom/QualifiedName.h:
3267         (WebCore::QualifiedName::QualifiedNameImpl::reportMemoryUsage):
3268         (WebCore::QualifiedName::reportMemoryUsage):
3269         * inspector/InspectorMemoryAgent.cpp:
3270         (WebCore):
3271         * platform/TreeShared.h:
3272         (WebCore::TreeShared::reportMemoryUsage):
3273
3274 2012-07-16  Ilya Tikhonovsky  <loislo@chromium.org>
3275
3276         Web Inspector: native memory instrumentation: extract instrumentation methods into MemoryClassInfo
3277         https://bugs.webkit.org/show_bug.cgi?id=91227
3278
3279         Reviewed by Pavel Feldman.
3280
3281         void Node::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
3282         {
3283             MemoryClassInfo<Node> info(memoryObjectInfo, this, MemoryInstrumentation::DOM);
3284             info.visitBaseClass<ScriptWrappable>(this);
3285
3286             info.addMember(m_notInstrumentedPointer); // automatically detects poniter/reference
3287             info.addInstrumentedMember(m_next);
3288             info.addHashSet<MemoryInstrumentation::NonClass>(m_aHash);                // NonClass value_type (report only size of internal template structures)
3289             info.addHashSet<MemoryInstrumentation::NotInstrumentedClass>(m_aHashSet); // not instrumented value_type (use sizeof)
3290             info.addHashSet<MemoryInstrumentation::InstrumentedClass>(m_aHashSet);    // instrumented value_type (call visit)
3291         }
3292
3293         The change is covered by existing tests for native memory snapshot.
3294
3295         * bindings/v8/DOMDataStore.cpp:
3296         (WebCore::DOMDataStore::reportMemoryUsage):
3297         * bindings/v8/IntrusiveDOMWrapperMap.h:
3298         (WebCore::ChunkedTable::reportMemoryUsage):
3299         * bindings/v8/ScriptWrappable.h:
3300         (WebCore::ScriptWrappable::reportMemoryUsage):
3301         * bindings/v8/V8Binding.cpp:
3302         (WebCore::V8BindingPerIsolateData::reportMemoryUsage):
3303         (WebCore::StringCache::reportMemoryUsage):
3304         * bindings/v8/V8DOMMap.h:
3305         * css/StylePropertySet.h:
3306         (WebCore::StylePropertySet::reportMemoryUsage):
3307         * dom/CharacterData.cpp:
3308         (WebCore::CharacterData::reportMemoryUsage):
3309         * dom/ContainerNode.h:
3310         (WebCore::ContainerNode::reportMemoryUsage):
3311         * dom/Document.cpp:
3312         (WebCore::Document::reportMemoryUsage):
3313         * dom/Element.h:
3314         (WebCore::Element::reportMemoryUsage):
3315         * dom/ElementAttributeData.h:
3316         (WebCore::ElementAttributeData::reportMemoryUsage):
3317         * dom/MemoryInstrumentation.h:
3318         (MemoryInstrumentation):
3319         (WebCore::MemoryObjectInfo::objectType):
3320         (WebCore::MemoryObjectInfo::objectSize):
3321         (WebCore::MemoryObjectInfo::memoryInstrumentation):
3322         (MemoryObjectInfo):
3323         (WebCore::MemoryObjectInfo::reportObjectInfo):
3324         (WebCore):
3325         (MemoryClassInfo):
3326         (WebCore::MemoryClassInfo::MemoryClassInfo):
3327         (WebCore::MemoryClassInfo::visitBaseClass):
3328         (WebCore::MemoryClassInfo::reportInstrumentedPointer):
3329         (WebCore::MemoryClassInfo::reportInstrumentedObject):
3330         (WebCore::MemoryClassInfo::reportPointer):
3331         (WebCore::MemoryClassInfo::reportObject):
3332         (WebCore::MemoryClassInfo::reportHashMap):
3333         (WebCore::MemoryClassInfo::reportHashSet):
3334         (WebCore::MemoryClassInfo::reportListHashSet):
3335         (WebCore::MemoryClassInfo::reportVector):
3336         (WebCore::MemoryClassInfo::reportString):
3337         * dom/Node.cpp:
3338         (WebCore::Node::reportMemoryUsage):
3339         * dom/QualifiedName.h:
3340         (WebCore::QualifiedName::QualifiedNameImpl::reportMemoryUsage):
3341         (WebCore::QualifiedName::reportMemoryUsage):
3342         * platform/TreeShared.h:
3343         (WebCore::TreeShared::reportMemoryUsage):
3344
3345 2012-07-15  Carlos Garcia Campos  <cgarcia@igalia.com>
3346
3347         Unreviewed. Fix make distcheck.
3348
3349         * GNUmakefile.am: Add missing idl directory.
3350         * GNUmakefile.list.am: Add missing files to compilation.
3351
3352 2012-07-16  Eugene Klyuchnikov  <eustas.big@gmail.com>
3353
3354         Web Inspector: Implement message loop instrumentation for timeline
3355         https://bugs.webkit.org/show_bug.cgi?id=88325
3356
3357         Reviewed by Pavel Feldman.
3358
3359         Message loop instrumentation will show when the render thread is busy.
3360
3361         * inspector/front-end/Settings.js:
3362         (WebInspector.ExperimentsSettings):
3363         Added new experiment.
3364         * inspector/front-end/TimelineGrid.js:
3365         (WebInspector.TimelineGrid.prototype.get dividersLabelBarElement):
3366         Exposed label bar element.
3367         * inspector/front-end/TimelinePanel.js:
3368         (WebInspector.TimelinePanel):
3369         (WebInspector.TimelinePanel.prototype._resetPanel):
3370         Cleanups recorded tasks.
3371         (WebInspector.TimelinePanel.prototype._refresh):
3372         Updates CPU bar.
3373         (WebInspector.TimelinePanel.prototype._refreshRecords):
3374         Ditto.
3375         (WebInspector.TimelinePanel.prototype._refreshCpuBars.compareEndTime):
3376         Ditto.
3377         (WebInspector.TimelinePanel.prototype._refreshCpuBars):
3378         Ditto.
3379         (WebInspector.TimelinePanel.prototype._enableMainThreadMonitoringExperiment):
3380         Adds CPU bar to UI.
3381         (WebInspector.TimelinePanel.prototype._showPopover):
3382         Fix NPE.
3383         (WebInspector.TimelineCalculator.prototype.computeTime):
3384         Utility for position to time conversion.
3385         (WebInspector.TimelineCalculator.prototype.setDisplayWindow):
3386         Remenbers clientWidth.
3387         * inspector/front-end/TimelinePresentationModel.js:
3388         (WebInspector.TimelinePresentationModel.categories):
3389         Define CPU bar colors.
3390         * inspector/front-end/timelinePanel.css:
3391         (.timeline-cpu-bars):
3392         CPU bar styles.
3393         (.timeline-cpu-bars-label):
3394         Ditto.
3395
3396 2012-07-16  Sheriff Bot  <webkit.review.bot@gmail.com>
3397
3398         Unreviewed, rolling out r122681.
3399         http://trac.webkit.org/changeset/122681
3400         https://bugs.webkit.org/show_bug.cgi?id=91363
3401
3402         Patch introduces crashes in debug builds for GTK and EFL ports
3403         (Requested by zdobersek on #webkit).
3404
3405         * platform/ScrollableArea.cpp:
3406         (WebCore::ScrollableArea::scrollPositionChanged):
3407
3408 2012-07-16  Luke Macpherson  <macpherson@chromium.org>
3409
3410         Compilation failure in StyleResolver.cpp (clang)
3411         https://bugs.webkit.org/show_bug.cgi?id=89892
3412
3413         Reviewed by Ryosuke Niwa.
3414
3415         Patch adds assertions that unreachable code is in fact not reached.
3416
3417         Covered by fast/css/variables tests.
3418
3419         * css/CSSParser.cpp:
3420         (WebCore::CSSParser::parseValue):
3421         * css/StyleResolver.cpp:
3422         (WebCore::StyleResolver::collectMatchingRulesForList):
3423
3424 2012-07-15  Mike Lawther  <mikelawther@chromium.org>
3425
3426         Fix calculation of rgba's alpha in CSS custom text
3427         https://bugs.webkit.org/show_bug.cgi?id=91355
3428
3429         Reviewed by Ryosuke Niwa.
3430
3431         Alpha values are stored as an 8 bit value. To convert this to a float in the
3432         range [0,1], we need to divide by 255, not 256. 
3433
3434         Test: fast/css/rgba-custom-text.html
3435
3436         * css/CSSPrimitiveValue.cpp:
3437         (WebCore::CSSPrimitiveValue::customCssText):
3438
3439 2012-07-15  Jason Liu  <jason.liu@torchmobile.com.cn>
3440
3441         [BlackBerry] We shouldn't call didFinishLoading for the old request when a new request has been sent by notifyAuthReceived.
3442         https://bugs.webkit.org/show_bug.cgi?id=90962
3443
3444         Reviewed by Rob Buis.