[SKIA] Must make skia's GL context current before drawing in GraphicsContext::clearRect
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-07-15  Brian Salomon  <bsalomon@google.com>
2
3         [SKIA] Must make skia's GL context current before drawing in GraphicsContext::clearRect
4         https://bugs.webkit.org/show_bug.cgi?id=64612
5
6         Reviewed by Stephen White.
7
8         Tested by compositing/shadows/shadow-drawing.html
9
10         * platform/graphics/skia/GraphicsContextSkia.cpp:
11         (WebCore::GraphicsContext::clearRect):
12
13 2011-07-15  Ian Henderson  <ianh@apple.com>
14
15         Avoid rounded rect corner-drawing overhead if no corners are visible
16         https://bugs.webkit.org/show_bug.cgi?id=64584
17
18         Reviewed by Simon Fraser.
19
20         No new tests, rendering is visually identical.
21
22         * rendering/InlineFlowBox.cpp:
23         (WebCore::InlineFlowBox::paintBoxDecorations): Pass PaintInfo into
24         paintBorder.
25         * rendering/RenderBox.cpp:
26         (WebCore::RenderBox::paintBoxDecorations): Ditto.
27         * rendering/RenderBoxModelObject.cpp:
28         (WebCore::unroundClippedCorners):
29         (WebCore::RenderBoxModelObject::paintBorder):
30         Any invisible corner may be replaced with a corner of radius zero, as
31         long as the stroke style is solid.  Change the GraphicsContext
32         parameter into a PaintInfo parameter so we can get the rect to be
33         drawn.
34         * rendering/RenderBoxModelObject.h:
35         * rendering/RenderFieldset.cpp:
36         (WebCore::RenderFieldset::paintBoxDecorations): Pass PaintInfo into
37         paintBorder.
38         * rendering/RenderTable.cpp:
39         (WebCore::RenderTable::paintBoxDecorations): Ditto.
40         * rendering/RenderTableCell.cpp:
41         (WebCore::RenderTableCell::paintBoxDecorations): Ditto.
42
43 2011-07-15  Jeff Miller  <jeffm@apple.com>
44
45         Add UserAgentStyleSheetsData.cpp to WebCore.vcproj
46         https://bugs.webkit.org/show_bug.cgi?id=64609
47         
48         Add UserAgentStyleSheetsData.cpp to WebCore.vcproj for convenient access, but don't compile it.
49         This matches what we do with other generated DerivedSources.
50
51         Reviewed by Brian Weinstein.
52         
53         No new tests, just adding a file.
54
55         * WebCore.vcproj/WebCore.vcproj: Add UserAgentStyleSheetsData.cpp.
56
57 2011-07-15  Pratik Solanki  <psolanki@apple.com>
58
59         Part of https://bugs.webkit.org/show_bug.cgi?id=63674
60         Get webkit to compile with USE(CFNETWORK) enabled on Mac
61
62         Reviewed by David Kilzer.
63
64         No new tests because no change in functionality and option is not enabled on Mac.
65
66         * platform/network/cf/AuthenticationCF.h: Just use AuthenticationMac.h instead of having
67         Mac-specific declarations here.
68         * platform/network/cf/CredentialStorageCFNet.cpp:
69         * platform/network/mac/AuthenticationMac.h:
70
71 2011-07-15  Pratik Solanki  <psolanki@apple.com>
72
73         Part of https://bugs.webkit.org/show_bug.cgi?id=63674
74         Get webkit to compile with USE(CFNETWORK) enabled on Mac
75
76         Reviewed by David Kilzer.
77
78         Get LoaderRunLoop to work on Mac when USE(CFNETWORK) is enabled. Although we could use the
79         main run loop, it's better to have a separate thread handling the loads so that it can work
80         in parallel to the main thread. This is similar to what NSURLConnection does for us
81         internally when we use the NS APIs.
82
83         No new tests because no change in functionality and option is not enabled on Mac.
84
85         * platform/network/cf/LoaderRunLoopCF.cpp:
86         (WebCore::runLoaderThread): Create an autorelease pool for objc code that might be called in
87         the run loop.
88         (WebCore::loaderRunLoop):
89         * platform/network/cf/LoaderRunLoopCF.h:
90
91 2011-07-15  Xiaomei Ji  <xji@chromium.org>
92
93         --webkit-visual-word crash on mixed editability
94         https://bugs.webkit.org/show_bug.cgi?id=61978
95
96         --webkit-visual-word crashes (VisiblePosition.getInlineBoxAndOffset could return null box)
97         https://bugs.webkit.org/show_bug.cgi?id=62814
98
99         Reviewed by Ryosuke Niwa.
100
101         Replace previousWordPosition/nextWordPosition with previousBoundary/nextBoundary which do
102         not honor editable bounary. Honor editable boundary as the last stage of leftWordPosition
103         and rightWordPosition.
104
105         Check previousBoundary/nextBoundary against NULL.  Have a static function to encapsulate the
106         usage of getInlineBoxAndOffset and check the visible position is not NULL before passing to 
107         getInlineBoxAndOffset. Check the box returned from getInlineBoxAndOffset is not NULL before
108         accessing.
109
110         Test: editing/selection/move-by-word-visually-null-box.html
111
112         * editing/visible_units.cpp:
113         (WebCore::positionIsInBox):
114         (WebCore::previousWordBreakInBoxInsideBlockWithSameDirectionality):
115         (WebCore::lastWordBreakInBox):
116         (WebCore::positionIsVisuallyOrderedInBoxInBlockWithDifferentDirectionality):
117         (WebCore::nextWordBreakInBoxInsideBlockWithDifferentDirectionality):
118         (WebCore::positionIsInsideBox):
119         (WebCore::leftWordPositionAcrossBoundary):
120         (WebCore::rightWordPositionAcrossBoundary):
121         (WebCore::leftWordPosition):
122         (WebCore::rightWordPosition):
123
124 2011-07-15  Pratik Solanki  <psolanki@apple.com>
125
126         Remove unncessary creation of connectionProperties dictionary
127         https://bugs.webkit.org/show_bug.cgi?id=63958
128
129         Reviewed by Alexey Proskuryakov.
130
131         No new tests because no change in functionality.
132
133         * platform/network/cf/ResourceHandleCFNet.cpp:
134         (WebCore::ResourceHandle::loadResourceSynchronously):
135
136 2011-07-15  Pavel Feldman  <pfeldman@google.com>
137
138         Web Inspector: Focusing on another node while editing CSS property does not update styles
139         https://bugs.webkit.org/show_bug.cgi?id=64283
140
141         Reviewed by Yury Semikhatsky.
142
143         Test: inspector/styles/styles-change-node-while-editing.html
144
145         * inspector/front-end/CSSStyleModel.js:
146         (WebInspector.CSSProperty.prototype.setText):
147         (WebInspector.CSSProperty.prototype.setText.callback):
148         * inspector/front-end/DOMAgent.js:
149         (WebInspector.DOMAgent.prototype._inlineStyleInvalidated):
150         (WebInspector.DOMDispatcher.prototype.inlineStyleInvalidated):
151         * inspector/front-end/ElementsPanel.js:
152         (WebInspector.ElementsPanel):
153         (WebInspector.ElementsPanel.prototype._attributesUpdated):
154         (WebInspector.ElementsPanel.prototype.updateStyles):
155         * inspector/front-end/MetricsSidebarPane.js:
156         (WebInspector.MetricsSidebarPane):
157         (WebInspector.MetricsSidebarPane.prototype.update):
158         (WebInspector.MetricsSidebarPane.prototype._innerUpdate.callback):
159         (WebInspector.MetricsSidebarPane.prototype._innerUpdate.inlineStyleCallback):
160         (WebInspector.MetricsSidebarPane.prototype._innerUpdate):
161         (WebInspector.MetricsSidebarPane.prototype._styleSheetChanged):
162         (WebInspector.MetricsSidebarPane.prototype._attributesUpdated):
163         (WebInspector.MetricsSidebarPane.prototype.startEditing):
164         (WebInspector.MetricsSidebarPane.prototype.editingEnded):
165         * inspector/front-end/StylesSidebarPane.js:
166         (WebInspector.StylesSidebarPane):
167         (WebInspector.StylesSidebarPane.prototype.update):
168         (WebInspector.StylesSidebarPane.prototype._innerUpdate.stylesCallback):
169         (WebInspector.StylesSidebarPane.prototype._innerUpdate.computedStyleCallback):
170         (WebInspector.StylesSidebarPane.prototype._innerUpdate):
171         (WebInspector.StylesSidebarPane.prototype._styleSheetChanged):
172         (WebInspector.StylesSidebarPane.prototype._attributesUpdated):
173         (WebInspector.StylesSidebarPane.prototype._refreshUpdate):
174         (WebInspector.StylesSidebarPane.prototype._rebuildUpdate):
175         (WebInspector.StylesSidebarPane.prototype._nodeStylesUpdatedForTest):
176         (WebInspector.StylesSidebarPane.prototype._toggleElementStatePane):
177         (WebInspector.StylesSidebarPane.prototype._createElementStatePane.clickListener):
178         (WebInspector.StylePropertyTreeElement.prototype):
179         (WebInspector.StylePropertyTreeElement.prototype.event):
180         (WebInspector.StylePropertyTreeElement.prototype.element.userInput.previousContent.context.moveDirection):
181         (WebInspector.StylePropertyTreeElement.prototype.styleText.updateInterface.majorChange.isRevert):
182
183 2011-07-15  Mike Reed  <reed@google.com>
184
185         [skia] remove legacy draw-text-as-paths code, as skia now draws all text as text
186         https://bugs.webkit.org/show_bug.cgi?id=64368
187
188         Reviewed by James Robinson.
189
190         * platform/graphics/chromium/FontChromiumWin.cpp:
191         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
192         * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
193         (WebCore::FontPlatformData::RefCountedHFONT::~RefCountedHFONT):
194         * platform/graphics/chromium/UniscribeHelper.cpp:
195         (WebCore::UniscribeHelper::draw):
196         * platform/graphics/skia/SkiaFontWin.cpp:
197         (WebCore::skiaDrawText):
198         (WebCore::setupPaintForFont):
199         (WebCore::paintSkiaText):
200         * platform/graphics/skia/SkiaFontWin.h:
201
202 2011-07-15  Piroska András  <Piroska.Andras@stud.u-szeged.hu>
203
204         Pixel difference in FEMorphology effect
205         https://bugs.webkit.org/show_bug.cgi?id=63930
206
207         Reviewed by Zoltan Herczeg.
208
209         Using short-circuit evaluation in the setFilterEffectAttribute function
210         was wrong. We should call both setRadius functions and evaluate the
211         changes separately.
212
213         * svg/SVGFEMorphologyElement.cpp:
214         (WebCore::SVGFEMorphologyElement::setFilterEffectAttribute):
215
216 2011-07-15  Jeff Miller  <jeffm@apple.com>
217
218         Fullscreen content doesn't use fullscreen controller on Windows
219         https://bugs.webkit.org/show_bug.cgi?id=64540
220         <rdar://problem/9510455>
221
222         Reviewed by Darin Adler.
223
224         RenderThemeWin needs to override extraFullScreenStyleSheet() to return
225         the fullscreenQuickTime stylesheet.
226
227         Test added to fullscreen/video-controls-override.html.
228
229         * rendering/RenderThemeWin.cpp:
230         (WebCore::RenderThemeWin::extraFullScreenStyleSheet): Added.
231         * rendering/RenderThemeWin.h: Override extraFullScreenStyleSheet().
232
233 2011-07-15  Nikolas Zimmermann  <nzimmermann@rim.com>
234
235         Not reviewed. Fix build failure introduced in r91061.
236
237         * page/Console.cpp:
238         (WebCore::Console::markTimeline): Remove argument name from unused parameter.
239
240 2011-07-15  Kenneth Rohde Christiansen  <kenneth@webkit.org>
241
242         Upstream QtWebKit/N9 changes related to visibleContentRect
243         https://bugs.webkit.org/show_bug.cgi?id=64589
244
245         Reviewed by Simon Hausmann.
246
247         Rename setActualVisibleContentRect to setFixedVisibleContentRect
248         as that makes it more obvious that it is an override. It is also
249         consistent with the setFixedLayout which is often used in
250         conjunction with it.
251
252         Make visibleContentRect return the fixed value if set, and remove
253         all calls to actualVisibleContentRect.
254
255         Also updated the documentation.
256
257         This is similar to what we have on our QtWebKit/N9 branch and is
258         pretty well tested.
259
260         * platform/ScrollView.cpp:
261         (WebCore::ScrollView::visibleContentRect):
262         If a fixed visibleContentRect is set, return that.
263         Remove the code returning the contents size when in
264         paintsEntireContents mode as that is wrong and already
265         ifdeffed out for EFL.
266         (WebCore::ScrollView::setScrollPosition):
267         Do not try to be smart and update the fixed visibleContentsRect
268         automatically, as the embedder might ignore the scroll request
269         for various reasons.
270         * platform/ScrollView.h:
271         (WebCore::ScrollView::setFixedVisibleContentRect):
272         (WebCore::ScrollView::fixedVisibleContentRect):
273
274 2011-07-15  Mike West  <mkwst@chromium.org>
275
276         Web Inspector: Rename console.markTimeline() to console.timeStamp() for Firebug compatibility.
277         https://bugs.webkit.org/show_bug.cgi?id=63317
278
279         Reviewed by Pavel Feldman.
280
281         Test: inspector/timeline/timeline-time-stamp.html
282
283         * inspector/InspectorConsoleInstrumentation.h:
284         (WebCore::InspectorInstrumentation::consoleTimeStamp):
285         * inspector/InspectorInstrumentation.cpp:
286         (WebCore::InspectorInstrumentation::consoleTimeStampImpl):
287         * inspector/InspectorInstrumentation.h:
288         * inspector/InspectorTimelineAgent.cpp:
289         (WebCore::InspectorTimelineAgent::didTimeStamp):
290         * inspector/InspectorTimelineAgent.h:
291         * inspector/TimelineRecordFactory.cpp:
292         (WebCore::TimelineRecordFactory::createTimeStampData):
293         * inspector/TimelineRecordFactory.h:
294         * inspector/front-end/TimelineAgent.js:
295         * inspector/front-end/TimelineOverviewPane.js:
296         (WebInspector.TimelineOverviewPane.prototype.update.markPercentagesForRecord):
297         (WebInspector.TimelineOverviewPane.prototype.update):
298         * inspector/front-end/TimelinePanel.js:
299         (WebInspector.TimelinePanel):
300         (WebInspector.TimelinePanel.prototype.get _recordStyles):
301         (WebInspector.TimelinePanel.prototype._updateEventDividers):
302         (WebInspector.TimelinePanel.prototype._createEventDivider):
303         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
304         (WebInspector.TimelinePanel.prototype._clearPanel):
305         (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
306         * page/Console.cpp:
307         (WebCore::Console::markTimeline):
308         (WebCore::Console::timeStamp):
309         * page/Console.h:
310         * page/Console.idl:
311
312 2011-07-15  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>
313
314         LocalStorage: Changed the value type of ItemTable from TEXT to BLOB
315         to avoid string truncation.
316         This patch will also convert the exsisting ItemTable and perform
317         the DATA MIGRATION job.
318         https://bugs.webkit.org/show_bug.cgi?id=58762
319
320         Reviewed by Jeremy Orlow.
321
322         Tests: manual-tests/localstorage-value-truncation.html
323
324         * manual-tests/localstorage-value-truncation.html: Added.
325         Demostrate the testcase shown in bug 58762.
326         * platform/sql/SQLiteStatement.cpp:
327         (WebCore::SQLiteStatement::isColumnDeclearedAsBlob):
328         Test if the pre-defined type of column is BLOB.
329         * platform/sql/SQLiteStatement.h:
330         * storage/StorageAreaSync.cpp:
331         Change the localStorage value type from Text to BLOB to avoid the
332         value string truncation at \x00.
333         (WebCore::StorageAreaSync::openDatabase):
334         Change the database structure, use BLOB to replace the TEXT type of
335         value segment in ItemTable.
336         (WebCore::StorageAreaSync::migrateItemTableIfNeeded):
337         Migrate the ItemTable if the pre-defined type of value is TEXT.
338         (WebCore::StorageAreaSync::performImport):
339         Use getColumnBlobAsString() to import the BLOB value.
340         (WebCore::StorageAreaSync::sync):
341         Use bindBlob() to bind value string to the SQLiteStatement for the
342         database execution.
343         * storage/StorageAreaSync.h:
344
345 2011-07-15  Kentaro Hara  <haraken@google.com>
346
347         Clear the content of a search input form when 'Escape' is pressed.
348         https://bugs.webkit.org/show_bug.cgi?id=51897
349
350         This change added handleKeydownEvent() to a search input form,
351         which clears the form and triggers a 'search' event when 'Escape' is pressed.
352
353         Reviewed by Kent Tamura.
354
355         Test: fast/forms/input-search-press-escape-key.html
356
357         * html/SearchInputType.cpp:
358         (WebCore::SearchInputType::handleKeydownEvent):
359         * html/SearchInputType.h:
360
361 2011-07-15  Alexandru Chiculita  <achicu@adobe.com>
362
363         Move useRepaintBounds from RenderBlock::layoutRunsAndFloats to LineLayoutState
364         https://bugs.webkit.org/show_bug.cgi?id=64360
365
366         Reviewed by Hajime Morita.
367
368         No new tests needed because the patch is just a refactor.
369
370         * rendering/RenderBlock.h:
371         * rendering/RenderBlockLineLayout.cpp:
372         (WebCore::LineLayoutState::LineLayoutState):
373         (WebCore::LineLayoutState::usesRepaintBounds):
374         (WebCore::LineLayoutState::setRepaintRange):
375         (WebCore::LineLayoutState::updateRepaintRangeFromBox):
376         (WebCore::RenderBlock::layoutRunsAndFloats):
377         (WebCore::RenderBlock::determineStartPosition):
378
379 2011-07-14  MORITA Hajime  <morrita@google.com>
380
381         ExceptionCodePlaceholder should have its own ExceptionCodePlaceholder.cpp file
382         https://bugs.webkit.org/show_bug.cgi?id=64503
383
384         Reviewed by Darin Adler.
385
386         No new tests. Just a file reorg.
387
388         * CMakeLists.txt:
389         * GNUmakefile.list.am:
390         * WebCore.gypi:
391         * WebCore.pro:
392         * WebCore.vcproj/WebCore.vcproj:
393         * WebCore.xcodeproj/project.pbxproj:
394         * dom/DOMAllInOne.cpp:
395         * dom/ExceptionCodePlaceholder.cpp: Added.
396         (WebCore::NoExceptionAssertionChecker::NoExceptionAssertionChecker):
397         (WebCore::NoExceptionAssertionChecker::~NoExceptionAssertionChecker):
398         * dom/ExceptionCodePlaceholder.h: Removed NoExceptionAssertionChecker::m_function, which is loonger used.
399
400 2011-07-14  Mark Pilgrim  <pilgrim@chromium.org>
401
402         Remove LegacyDefaultOptionalArguments flag from WebGL
403         https://bugs.webkit.org/show_bug.cgi?id=64549
404
405         Reviewed by Kenneth Russell.
406
407         * html/canvas/WebGLRenderingContext.idl:
408
409 2011-07-14  Yuta Kitamura  <yutak@chromium.org>
410
411         WebSocket: Introduce pywebsocket-0.6b2
412         https://bugs.webkit.org/show_bug.cgi?id=64534
413
414         Reviewed by Kent Tamura.
415
416         pywebsocket now accepts "Sec-WebSocket-Version: 8" as required in hybi-10 specification.
417
418         No new functionality is added, thus no new tests. Existing WebSocket tests should keep passing.
419
420         * websockets/WebSocketHandshake.cpp:
421         (WebCore::WebSocketHandshake::clientHandshakeMessage):
422         (WebCore::WebSocketHandshake::clientHandshakeRequest):
423
424 2011-07-14  SravanKumar S  <sravan.ken@gmail.com>
425
426         Replaced isChecked() with shouldAppearChecked() in HTMLInputElement.cpp along with all the corresponding function calls.
427         https://bugs.webkit.org/show_bug.cgi?id=54476
428
429         Reviewed by Darin Adler.
430
431         No new tests, since existing fast/dom/HTMLInputElement/checked-pseudo-selector.html verifies the patch.
432
433         * accessibility/AccessibilityRenderObject.cpp:
434         (WebCore::AccessibilityRenderObject::isChecked):
435         * css/CSSStyleSelector.cpp:
436         (WebCore::CSSStyleSelector::canShareStyleWithControl):
437         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
438         * dom/CheckedRadioButtons.cpp:
439         (WebCore::CheckedRadioButtons::removeButton):
440         * html/HTMLInputElement.cpp:
441         (WebCore::HTMLInputElement::shouldAppearChecked):
442         * html/HTMLInputElement.h: Removed virtual declaration from shouldAppearChecked().
443         * rendering/RenderTheme.cpp:
444         (WebCore::RenderTheme::isChecked):
445
446 2011-07-14  Kenichi Ishibashi  <bashi@chromium.org>
447
448         <input form="x"> should not associate the input with any forms when there is no  form with id="x"
449         https://bugs.webkit.org/show_bug.cgi?id=64509
450
451         Don't set form owner when a form associated element has the form attribute but there is no such form element.
452
453         Reviewed by Kent Tamura.
454
455         Test: fast/forms/form-attribute-nonexistence-form-id.html
456
457         * dom/Document.cpp:
458         (WebCore::Document::resetFormElementsOwner): Removed the argument which is no longer needed.
459         * dom/Document.h: Ditto.
460         * html/FormAssociatedElement.cpp:
461         (WebCore::FormAssociatedElement::insertedIntoTree): Resets m_form whenever the element has the form attribute.
462         (WebCore::FormAssociatedElement::resetFormOwner): Don't set m_form when there is no form element which has the given id.
463         (WebCore::FormAssociatedElement::formAttributeChanged): Removed the argument of resetFormOwner().
464         * html/FormAssociatedElement.h: Ditto.
465         * html/HTMLFormElement.cpp: Ditto.
466         (WebCore::HTMLFormElement::insertedIntoDocument):
467         (WebCore::HTMLFormElement::removedFromDocument):
468
469 2011-07-14  Kent Tamura  <tkent@chromium.org>
470
471         REGRESSION (r90809): Setting a checkbox's checked property, doesn't render as checked until app window loses focus
472         https://bugs.webkit.org/show_bug.cgi?id=64537
473
474         Reviewed by Darin Adler.
475
476         We stopped to call updateCheckedRadioButtons() for checkboxes
477         since r90809, but we need to call RenderTheme::stateChanged(),
478         which was in updateCheckedRadioButtons(), for checkboxes.
479
480         Tests: fast/forms/checkbox-appearance-change-by-checked-expected.html
481                fast/forms/checkbox-appearance-change-by-checked.html
482
483         * html/HTMLInputElement.cpp: Move the RenderTheme::stateChanged() call
484         from updateCheckedRadioButtons() to setChecked().
485         (WebCore::HTMLInputElement::updateCheckedRadioButtons):
486         (WebCore::HTMLInputElement::setChecked):
487
488 2011-07-14  Adam Barth  <abarth@webkit.org>
489
490         The beforeload event allows tracking URI changes in a frame
491         https://bugs.webkit.org/show_bug.cgi?id=64482
492
493         Reviewed by Nate Chapin.
494
495         Tests: http/tests/security/beforeload-iframe-client-redirect.html
496                http/tests/security/beforeload-iframe-server-redirect.html
497
498         Only dispatch the beforeload event for a frame if we haven't yet
499         committed our first real load.  The URL that we send to our parent will
500         be the same URL the parent seens in the src attribute.
501
502         * loader/FrameLoader.cpp:
503         (WebCore::FrameLoader::loadWithDocumentLoader):
504
505 2011-07-14  Dan Bernstein  <mitz@apple.com>
506
507         LLVM Compiler build fix.
508
509         * css/CSSStyleApplyProperty.cpp:
510         (WebCore::ApplyPropertyComputeLength::applyValue):
511
512 2011-07-14  Darin Adler  <darin@apple.com>
513
514         [Mac] Use [NSCursor operationNotAllowedCursor] for CSS no-drop as well as CSS not-allowed
515         https://bugs.webkit.org/show_bug.cgi?id=64570
516
517         Reviewed by Alexey Proskuryakov.
518
519         Mac OS X documentation and usage makes it clear that this cursor is usually used for no-drop,
520         and that it's also reasonable to use it for not-allowed.
521
522         * platform/mac/CursorMac.mm:
523         (WebCore::Cursor::ensurePlatformCursor): Use [NSCursor operationNotAllowedCursor] for
524         Cursor::NoDrop.
525
526 2011-07-14  Luke Macpherson   <macpherson@chromium.org>
527
528         Reviewed by Dimitri Glazkov.
529
530         Introduce templated compute length class in CSSStyleApplyProperty, and use to handle several CSS properties.
531         https://bugs.webkit.org/show_bug.cgi?id=62957
532
533         No new tests / refactoring only.
534
535         * css/CSSPrimitiveValue.cpp:
536         (WebCore::CSSPrimitiveValue::computeLength):
537         Add computeLength function that returns unsigned short.
538         * css/CSSStyleApplyProperty.cpp:
539         (WebCore::ApplyPropertyComputeLength::ApplyPropertyComputeLength):
540         Added class to handle computeLength based properties.
541         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
542         Initialize ApplyPropertyComputeLength for appropriate properties.
543         * css/CSSStyleSelector.cpp:
544         (WebCore::CSSStyleSelector::useSVGZoomRules):
545         Make this a public member function instead of a private static function.
546         (WebCore::CSSStyleSelector::applyProperty):
547         Removed code now implemented in CSSStyleApplyProperty.
548         (WebCore::CSSStyleSelector::setFontSize):
549         Use new useSVGZoomRules function.
550         * css/CSSStyleSelector.h:
551         Add interface for useSVGZoomRules.
552
553 2011-07-14  Antti Koivisto  <antti@apple.com>
554
555         REGRESSION: Should not dispatch didFirstVisuallyNonEmptyLayout for the initial empty document
556         https://bugs.webkit.org/show_bug.cgi?id=64557
557
558         Reviewed by Kenneth Rohde Christiansen.
559
560         Avoid sending didFirstVisuallyNonEmptyLayout for the initial empty document of the frame. The
561         clients may not expect it and it doesn't make much sense in any case.
562
563         * page/FrameView.cpp:
564         (WebCore::FrameView::performPostLayoutTasks):
565
566 2011-07-14  Jeffrey Pfau  <jpfau@apple.com>
567
568         Character reference parser for new XML parser
569         https://bugs.webkit.org/show_bug.cgi?id=64398
570
571         Reviewed by Adam Barth.
572
573         Refactored out the HTML entity parser and added a common template for parsing character references.
574
575         * WebCore.xcodeproj/project.pbxproj:
576         * html/parser/HTMLEntityParser.cpp:
577         (WebCore::consumeHTMLEntity):
578         * xml/parser/CharacterReferenceParserInlineMethods.h: Copied from Source/WebCore/html/parser/HTMLEntityParser.cpp.
579         (WebCore::isHexDigit):
580         (WebCore::unconsumeCharacters):
581         (WebCore::consumeCharacterReference):
582         * xml/parser/XMLCharacterReferenceParser.cpp: Added.
583         (WebCore::consumeXMLCharacterReference):
584         * xml/parser/XMLCharacterReferenceParser.h: Added.
585
586 2011-07-14  Ilya Tikhonovsky  <loislo@chromium.org>
587
588         Reviewed by Pavel Feldman.
589
590         Web Inspector: panel switching is too slow.
591         https://bugs.webkit.org/show_bug.cgi?id=60959
592
593         * inspector/front-end/inspector.css:
594         (.panel):
595         (.panel.visible):
596
597 2011-07-14  Andrey Kosyakov  <caseq@chromium.org>
598
599         Web Inspector: remove more unused CSS from inspector.css
600         https://bugs.webkit.org/show_bug.cgi?id=64529
601
602         Reviewed by Pavel Feldman.
603
604         * inspector/front-end/inspector.css:
605
606 2011-07-14  Ryosuke Niwa  <rniwa@webkit.org>
607
608         Move subtreeHasChanged from RenderTextControl to HTMLTextFormControlElement
609         https://bugs.webkit.org/show_bug.cgi?id=64476
610
611         Reviewed by Kent Tamura.
612
613         Moved subtreeHasChanged from RenderTextControl, RenderTextControlSingleLine, and
614         RenderTextControlMultiLine to HTMLTextFormControlElement, HTMLInputElement, and
615         HTMLTextAreaElement. Also moved m_searchEventTimer and related functions from
616         RenderTextSingleLine to SearchInputType.
617
618         * html/HTMLInputElement.cpp:
619         (WebCore::HTMLInputElement::subtreeHasChanged): Moved from RenderTextControlSingleLine.
620         (WebCore::HTMLInputElement::onSearch): Calls stopSearchEventTimer.
621         * html/HTMLInputElement.h:
622         * html/HTMLTextAreaElement.cpp:
623         (WebCore::HTMLTextAreaElement::subtreeHasChanged): Moved from RenderTextMultiLine.
624         * html/HTMLTextAreaElement.h:
625         * html/HTMLTextFormControlElement.cpp:
626         (WebCore::HTMLTextFormControlElement::defaultEventHandler): Calls subtreeHasChanged.
627         (WebCore::HTMLTextFormControlElement::subtreeHasChanged): Added; calls respondToChangeByUser.
628         * html/HTMLTextFormControlElement.h:
629         * html/SearchInputType.cpp:
630         (WebCore::SearchInputType::SearchInputType): Initializes m_searchEventTimer.
631         (WebCore::SearchInputType::startSearchEventTimer): Moved from RenderTextControlSingleLine.
632         (WebCore::SearchInputType::stopSearchEventTimer): Ditto.
633         (WebCore::SearchInputType::searchEventTimerFired): Ditto.
634         * html/SearchInputType.h:
635         * html/TextFieldInputType.cpp:
636         (WebCore::TextFieldInputType::handleBeforeTextInsertedEvent): Updated comment.
637         * rendering/RenderTextControl.cpp:
638         * rendering/RenderTextControl.h:
639         (WebCore::RenderTextControl::respondToChangeByUser): Renamed from subtreeHasChanged.
640         * rendering/RenderTextControlMultiLine.cpp:
641         * rendering/RenderTextControlMultiLine.h:
642         * rendering/RenderTextControlSingleLine.cpp:
643         (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine): No longer initializes
644         m_searchEventTimer.
645         * rendering/RenderTextControlSingleLine.h:
646
647 2011-07-14  Vsevolod Vlasov  <vsevik@chromium.org>
648
649         Move XML errors handling out from XMLDocumentParser (refactoring).
650         https://bugs.webkit.org/show_bug.cgi?id=64305
651
652         XML errors handling logic is moved out from XMLDocumentParser to allow using it for XSLT error handling as well.
653
654         Reviewed by Adam Barth.
655
656         No tests needed as there is no new functionality added.
657
658         * CMakeLists.txt:
659         * GNUmakefile.list.am:
660         * WebCore.gypi:
661         * WebCore.pro:
662         * WebCore.vcproj/WebCore.vcproj:
663         * WebCore.xcodeproj/project.pbxproj:
664         * xml/XMLErrors.cpp: Added.
665         (WebCore::XMLErrors::XMLErrors):
666         (WebCore::XMLErrors::handleError):
667         (WebCore::XMLErrors::appendErrorMessage):
668         (WebCore::createXHTMLParserErrorHeader):
669         (WebCore::XMLErrors::insertErrorMessageBlock):
670         * xml/XMLErrors.h: Added.
671         * xml/parser/XMLDocumentParser.cpp:
672         (WebCore::XMLDocumentParser::pushCurrentNode):
673         (WebCore::XMLDocumentParser::handleError):
674         (WebCore::XMLDocumentParser::insertErrorMessageBlock):
675         * xml/parser/XMLDocumentParser.h:
676         * xml/parser/XMLDocumentParserLibxml2.cpp:
677         (WebCore::PendingCallbacks::appendErrorCallback):
678         (WebCore::XMLDocumentParser::XMLDocumentParser):
679         (WebCore::XMLDocumentParser::doWrite):
680         (WebCore::XMLDocumentParser::error):
681         (WebCore::warningHandler):
682         (WebCore::fatalErrorHandler):
683         (WebCore::normalErrorHandler):
684         * xml/parser/XMLDocumentParserQt.cpp:
685         (WebCore::XMLDocumentParser::XMLDocumentParser):
686         (WebCore::XMLDocumentParser::doWrite):
687         (WebCore::XMLDocumentParser::doEnd):
688         (WebCore::XMLDocumentParser::parse):
689         (WebCore::XMLDocumentParser::parseStartElement):
690         (WebCore::XMLDocumentParser::parseDtd):
691
692 2011-07-14  Vsevolod Vlasov  <vsevik@chromium.org>
693
694         Web Inspector: InspectorResourceAgent should generate unique identifier and save cachedResource for resources from memory cache.
695         https://bugs.webkit.org/show_bug.cgi?id=64356
696
697         Reviewed by Yury Semikhatsky.
698
699         * inspector/Inspector.json:
700         * inspector/InspectorInstrumentation.cpp:
701         (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl):
702         * inspector/InspectorInstrumentation.h:
703         (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCache):
704         * inspector/InspectorResourceAgent.cpp:
705         (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
706         * inspector/InspectorResourceAgent.h:
707         * inspector/front-end/NetworkManager.js:
708         (WebInspector.NetworkManager.prototype.requestContent):
709         (WebInspector.NetworkDispatcher):
710         (WebInspector.NetworkDispatcher.prototype.resourceLoadedFromMemoryCache):
711         (WebInspector.NetworkDispatcher.prototype._appendRedirect):
712         * inspector/front-end/NetworkPanel.js:
713         (WebInspector.NetworkLogView.prototype._frameNavigated):
714         * loader/FrameLoader.cpp:
715         (WebCore::FrameLoader::loadedResourceFromMemoryCache):
716         * loader/FrameLoader.h:
717
718 2011-07-14  Tim Horton  <timothy_horton@apple.com>
719
720         Clear SVGElementInstance's children immediately upon detachment
721         https://bugs.webkit.org/show_bug.cgi?id=63739
722         <rdar://problem/9705708>
723
724         Reviewed by Nikolas Zimmermann.
725
726         In addition to clearing the instance's children in the destructor,
727         clear them when the instance is detached from its <use>. This way,
728         we won't attempt to use them after we're detached but before the
729         destructor has been called.
730
731         Test: svg/custom/use-crash-using-children-before-destroy.svg
732
733         * svg/SVGElementInstance.cpp:
734         (WebCore::SVGElementInstance::~SVGElementInstance):
735         (WebCore::SVGElementInstance::clearChildren):
736         * svg/SVGElementInstance.h:
737         * svg/SVGUseElement.cpp:
738         (WebCore::SVGUseElement::detachInstance):
739
740 2011-07-14  Nate Chapin  <japhet@chromium.org>
741
742         Don't skip custom cursors if an Image* is null,
743         since this can lead to a non-custom Cursor flickering 
744         back in when the custom cursor hasn't finished loading yet.
745         https://bugs.webkit.org/show_bug.cgi?id=64321
746
747         Reviewed by Darin Fisher.
748
749         Manual test, since we're testing visual flickering.
750
751         * manual-tests/canvas-cursor.html: Added.
752         * page/EventHandler.cpp:
753         (WebCore::EventHandler::selectCursor):
754         * platform/Cursor.cpp:
755         (WebCore::determineHotSpot):
756
757 2011-07-14  Young Han Lee  <joybro@company100.net>
758
759         Reviewed by Dirk Schulze.
760
761         REGRESSION (r89774): svg/W3C-SVG-1.1/animate-elem-82-t.svg hits assertion failure.
762         https://bugs.webkit.org/show_bug.cgi?id=63911
763
764         Some functions assumed calculateKeyTimesIndex() does not return the last index of
765         the keyTimes, but it would be right behavior for calculateKeyTimesIndex() when it
766         accepts 1 as the percent argument.
767
768         To avoid the assumption, and for more efficiency, this patch allows the functions
769         using calculateKeyTimesIndex() to return early when it accepts 1 as the percent argument.
770         These functions have always returned the last element of the corresponding vector
771         in that situation.
772
773         * svg/SVGAnimationElement.cpp:
774         (WebCore::SVGAnimationElement::calculatePercentFromKeyPoints):
775         (WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
776
777 2011-07-14  Andrey Kosyakov  <caseq@chromium.org>
778
779         Web Inspector: remove more dead code
780         https://bugs.webkit.org/show_bug.cgi?id=64524
781
782         Reviewed by Yury Semikhatsky.
783
784         * WebCore.gypi:
785         * inspector/front-end/SummaryBar.js: Removed.
786         * inspector/front-end/WebKit.qrc:
787         * inspector/front-end/inspector.css:
788         * inspector/front-end/inspector.html:
789
790 2011-07-14  Peter Varga  <pvarga@webkit.org>
791
792         [Qt][V8] Build fix after r90830.
793
794         Reviewed by Csaba Osztrogonác.
795
796         The histogramEnumeration() function isn't available from the Qt port's
797         PlatformBridge.h because this function is Chromium specific.
798         Since the http://trac.webkit.org/changeset/90830 change we need to
799         guard the usage of the histogramEnumeration() function.
800
801         No new tests needed.
802
803         * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
804         (WebCore::V8InspectorFrontendHost::recordActionTakenCallback):
805         (WebCore::V8InspectorFrontendHost::recordPanelShownCallback):
806         (WebCore::V8InspectorFrontendHost::recordSettingChangedCallback):
807
808 2011-07-14  Yury Semikhatsky  <yurys@chromium.org>
809
810         Web Inspector: show only Console and Scripts panels in shared worker inspector front-end
811         https://bugs.webkit.org/show_bug.cgi?id=64519
812
813         Reviewed by Pavel Feldman.
814
815         * inspector/front-end/WorkerManager.js:
816         (WebInspector.WorkerManager):
817         (WebInspector.WorkerManager.isWorkerFrontend):
818         (WebInspector.WorkerManager.isSharedWorkerFrontend):
819         (WebInspector.WorkerManager.prototype._openInspectorWindow):
820         (WebInspector.DedicatedWorkerMessageForwarder):
821
822 2011-07-14  MORITA Hajime  <morrita@google.com>
823
824         Unreviewed, rolling out r90976, r90981, and r90985.
825         http://trac.webkit.org/changeset/90976
826         http://trac.webkit.org/changeset/90981
827         http://trac.webkit.org/changeset/90985
828         https://bugs.webkit.org/show_bug.cgi?id=64251
829
830         build break
831
832         * WebCore.exp.in:
833         * dom/NodeRenderingContext.cpp:
834         (WebCore::NodeRenderingContext::NodeRenderingContext):
835         (WebCore::NodeRenderingContext::nextRenderer):
836         (WebCore::NodeRenderingContext::previousRenderer):
837         * dom/NodeRenderingContext.h:
838         * dom/ShadowContentElement.cpp:
839         (WebCore::ShadowContentElement::attach):
840         (WebCore::ShadowContentElement::detach):
841         * dom/ShadowContentElement.h:
842         * dom/ShadowContentSelector.cpp:
843         (WebCore::ShadowContentSelector::ShadowContentSelector):
844         (WebCore::ShadowContentSelector::selectInclusion):
845         (WebCore::ShadowContentSelector::willAttachContentFor):
846         (WebCore::ShadowContentSelector::didAttachContent):
847         (WebCore::ShadowContentSelector::activeElement):
848         * dom/ShadowContentSelector.h:
849         * dom/ShadowRoot.cpp:
850         (WebCore::ShadowRoot::~ShadowRoot):
851         (WebCore::ShadowRoot::activeContentElement):
852         * dom/ShadowRoot.h:
853         * testing/Internals.cpp:
854         * testing/Internals.h:
855         * testing/Internals.idl:
856
857 2011-07-13  Ryosuke Niwa  <rniwa@webkit.org>
858
859         Move forwardEvent from RenderTextControl to HTMLTextFormControlElement
860         https://bugs.webkit.org/show_bug.cgi?id=64475
861
862         Reviewed by Kent Tamura.
863
864         Moved forwardEvent from RenderTextControl, RenderTextControlSingleLine, and RenderTextControlMultiLine
865         to HTMLTextFormControlElement, HTMLInputElement, and HTMLTextAreaElement.
866
867         This removes the last dependency on Event.h and EventNames.h in the cpp files for the above render
868         objects classes.
869
870         * html/HTMLTextAreaElement.cpp:
871         (WebCore::HTMLTextAreaElement::defaultEventHandler):
872         * html/HTMLTextFormControlElement.cpp:
873         (WebCore::HTMLTextFormControlElement::forwardEvent):
874         * html/HTMLTextFormControlElement.h:
875         * html/TextFieldInputType.cpp:
876         (WebCore::TextFieldInputType::forwardEvent):
877         * rendering/RenderTextControl.cpp:
878         * rendering/RenderTextControl.h:
879         * rendering/RenderTextControlMultiLine.cpp:
880         * rendering/RenderTextControlMultiLine.h:
881         * rendering/RenderTextControlSingleLine.cpp:
882         * rendering/RenderTextControlSingleLine.h:
883
884 2011-07-13  Ilya Tikhonovsky  <loislo@chromium.org>
885
886         Web Inspector: if you rename an element into the INPUT element the browser will crash.
887         https://bugs.webkit.org/show_bug.cgi?id=64292
888
889         Reviewed by Joseph Pecoraro.
890
891         * inspector/InspectorDOMAgent.cpp:
892         (WebCore::InspectorDOMAgent::setNodeName):
893         Unnecessary function call copyNonAttributeProperties was removed.
894
895 2011-07-13  Yuta Kitamura  <yutak@chromium.org>
896
897         WebSocket: Implement hybi handshake
898         https://bugs.webkit.org/show_bug.cgi?id=64344
899
900         Reviewed by Kent Tamura.
901
902         Implement WebSocket handshake which is described at
903         <http://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotocol-10#section-5.1>.
904
905         Notable differences from hixie-76 protocol are:
906         - Challenge-response scheme has been changed dramatically.
907         - Servers do not send Sec-WebSocket-Location and Sec-WebSocket-Origin anymore.
908         - The value of "Upgrade" header has been changed to "websocket" (lower-case only).
909         - "Origin" header in client's request is renamed to "Sec-WebSocket-Origin".
910
911         New tests: http/tests/websocket/tests/hybi/handshake-fail-by-extensions-header.html
912                    http/tests/websocket/tests/hybi/handshake-fail-by-no-accept-header.html
913                    http/tests/websocket/tests/hybi/handshake-fail-by-wrong-accept-header.html
914
915         Note: Tests under hybi/ directory (including the new ones) are skipped and cannot be enabled
916         yet, because pywebsocket does not accept requests from half-baked client implementation
917         (i.e. hybi handshake + hixie-76 framing). They will be unskipped when hybi framing is landed
918         in WebCore.
919
920         * websockets/WebSocketHandshake.cpp:
921         Functions and members only used for hixie-76 handshake are renamed so that they are not confused
922         with hybi-10's ones.
923         (WebCore::generateHixie76SecWebSocketKey):
924         (WebCore::generateHixie76Key3):
925         (WebCore::generateHixie76ExpectedChallengeResponse):
926         (WebCore::generateSecWebSocketKey):
927         Generates a value for Sec-WebSocket-Key as stated in hybi-10.
928         (WebCore::getExpectedWebSocketAccept):
929         Calculates the expected value of Sec-WebSocket-Accept.
930         (WebCore::WebSocketHandshake::WebSocketHandshake):
931         (WebCore::WebSocketHandshake::clientHandshakeMessage):
932         (WebCore::WebSocketHandshake::clientHandshakeRequest):
933         (WebCore::WebSocketHandshake::readServerHandshake):
934         (WebCore::WebSocketHandshake::serverWebSocketAccept):
935         (WebCore::WebSocketHandshake::serverWebSocketExtensions):
936         (WebCore::WebSocketHandshake::checkResponseHeaders):
937         * websockets/WebSocketHandshake.h:
938
939 2011-07-13  MORITA Hajime  <morrita@google.com>
940
941         [ShadowContentElement] forwarded node should be able to access its hosting content element.
942         https://bugs.webkit.org/show_bug.cgi?id=64251
943         
944         Reviewed by Dimitri Glazkov.
945
946         - Introduced ShadowInclusionSet to manage included nodes to its includer content element.
947           ShadowInclusionSet instance is owned by ShadowRoot.
948         - Updated the set on inclusion list changes.
949         - Used the set to retrieve the content element of NodeRenderingContext.
950         
951         There are also related refactoring and cleanup:
952         - Renamed NodeRenderingContext::m_contentElement to m_includer
953         - ShadowContentSelector::m_activeElement is no longer used, thus removed.
954         
955         Test: fast/dom/shadow/content-element-includer.html
956
957         * WebCore.exp.in:
958         * dom/NodeRenderingContext.cpp:
959         (WebCore::NodeRenderingContext::NodeRenderingContext):
960         (WebCore::NodeRenderingContext::nextRenderer):
961         (WebCore::NodeRenderingContext::previousRenderer):
962         * dom/NodeRenderingContext.h:
963         (WebCore::NodeRenderingContext::includer): 
964         * dom/ShadowContentElement.cpp:
965         (WebCore::removeFromSet): Added
966         (WebCore::addToSet): Added
967         (WebCore::ShadowContentElement::attach):
968         (WebCore::ShadowContentElement::detach):
969         * dom/ShadowContentElement.h:
970         (WebCore::ShadowInclusionSet::add):
971         (WebCore::ShadowInclusionSet::remove):
972         (WebCore::ShadowInclusionSet::isEmpty):
973         (WebCore::ShadowInclusionSet::Translator::hash):
974         (WebCore::ShadowInclusionSet::Translator::equal):
975         (WebCore::ShadowInclusionSet::Hash::hash):
976         (WebCore::ShadowInclusionSet::Hash::equal):
977         (WebCore::ShadowInclusionSet::find):
978         * dom/ShadowContentSelector.cpp:
979         (WebCore::ShadowContentSelector::ShadowContentSelector):
980         (WebCore::ShadowContentSelector::selectInclusion):
981         * dom/ShadowContentSelector.h:
982         * dom/ShadowRoot.cpp:
983         (WebCore::ShadowRoot::~ShadowRoot):
984         (WebCore::ShadowRoot::includerFor): Replaced activeElement()
985         (WebCore::ShadowRoot::inclusions): Added
986         (WebCore::ShadowRoot::ensureInclusions): Added
987         * dom/ShadowRoot.h:
988         (WebCore::toShadowRoot):
989         * testing/Internals.cpp:
990         (WebCore::Internals::includerFor):
991         * testing/Internals.h:
992         * testing/Internals.idl:
993
994 2011-07-12  Dominic Cooney  <dominicc@chromium.org>
995
996         Raise if dispatchEvent dispatches an event that is being dispatched
997         https://bugs.webkit.org/show_bug.cgi?id=64150
998
999         Reviewed by Dimitri Glazkov.
1000
1001         Spec: http://www.w3.org/TR/DOM-Level-3-Events/#events-EventTarget-dispatchEvent
1002
1003         Test: fast/events/dispatch-event-being-dispatched.html
1004
1005         * dom/Event.h:
1006         (WebCore::Event::isBeingDispatched): Added.
1007         * dom/EventException.h:
1008         * dom/EventException.idl: Add DISPATCH_REQUEST_ERR.
1009         * dom/EventTarget.cpp:
1010         (WebCore::EventTarget::dispatchEvent): Raise if being dispatched.
1011         * dom/ExceptionCode.cpp: Add gunk for DISPATCH_REQUEST_ERR.
1012
1013 2011-07-13  Kent Tamura  <tkent@chromium.org>
1014
1015         Implement text field placeholders using shadow DOM
1016         https://bugs.webkit.org/show_bug.cgi?id=64253
1017
1018         Reviewed by Dimitri Glazkov.
1019
1020         Represents a placeholder text as a shadow element, and its
1021         visibility is controlled by 'visibility' CSS property.
1022
1023         This patch removes all of existing code about placeholder from
1024         RenderTextControl*. RenderTextControl* have only small code about
1025         placeholder layout.
1026
1027         Also, this patch removes INPUT_PLACEHOLDER legacy pseudo ID, and
1028         the placeholder style uses Element::shadowPseudoId().
1029
1030         This fixes the following regressions:
1031         - https://bugs.webkit.org/show_bug.cgi?id=51290
1032         - https://bugs.webkit.org/show_bug.cgi?id=54797
1033         - https://bugs.webkit.org/show_bug.cgi?id=54814
1034         - https://bugs.webkit.org/show_bug.cgi?id=63367
1035
1036         Test: fast/forms/textarea-placeholder-wrapping.html
1037
1038         * css/CSSSelector.cpp: Remove INPUT_PLACEHOLDER legacy pseudo ID.
1039         (WebCore::CSSSelector::pseudoId):
1040         (WebCore::nameToPseudoTypeMap):
1041         (WebCore::CSSSelector::extractPseudoType):
1042         * css/CSSSelector.h: ditto.
1043         * css/html.css:
1044         (::-webkit-input-placeholder): Added. This contains properties
1045         common in <input> and <textarea>. Some properties have !important
1046         so that a stylesheet specified by a page author won't break
1047         WebKit's assumption.
1048         (input::-webkit-input-placeholder, isindex::-webkit-input-placeholder):
1049          Added the default style for <input> placeholders.
1050         * html/HTMLInputElement.cpp:
1051         (WebCore::HTMLInputElement::placeholderElement): Delegate to an InputType.
1052         (WebCore::HTMLInputElement::updatePlaceholderText): ditto.
1053         * html/HTMLInputElement.h: Declare placeholderElement() and updatePlaceholderText().
1054         * html/HTMLTextAreaElement.cpp:
1055         (WebCore::HTMLTextAreaElement::createRenderer):
1056         Remove the 'placeholderVisible' argument.
1057         (WebCore::HTMLTextAreaElement::placeholderElement): Added.
1058         (WebCore::HTMLTextAreaElement::updatePlaceholderText):
1059          Added. This creates, deletes, or updates the placeholder element.
1060         * html/HTMLTextAreaElement.h:
1061         - Declare placeholderElement() and updatePlaceholderText().
1062         - Add m_placeholder.
1063         * html/HTMLTextFormControlElement.cpp:
1064         (WebCore::HTMLTextFormControlElement::updatePlaceholderVisibility):
1065         Update the placeholder element and 'visibility' CSS property,
1066         instead of delegating the job to a renderer.
1067         * html/HTMLTextFormControlElement.h:
1068         Declare two pure virtual functions: placeholderElement() and updatePlaceholderText().
1069         * html/InputType.cpp:
1070         (WebCore::InputType::placeholderElement): Add an empty implementation.
1071         (WebCore::InputType::updatePlaceholderText): Add an empty implementation.
1072         * html/InputType.h: Declare placeholderElement() and updatePlaceholderText().
1073         * html/TextFieldInputType.cpp:
1074         (WebCore::TextFieldInputType::createRenderer):
1075         Remove the 'placeholderVisible' argument.
1076         (WebCore::TextFieldInputType::placeholderElement): Added.
1077         (WebCore::TextFieldInputType::destroyShadowSubtree): Deletes m_placeholder.
1078         (WebCore::TextFieldInputType::updatePlaceholderText):
1079          Added. This creates, deletes, or updates the placeholder element.
1080         * html/TextFieldInputType.h:
1081         - Declare placeholderElement() and updatePlaceholderText().
1082         - Add m_placeholder.
1083         * rendering/RenderTextControl.cpp:
1084         (WebCore::RenderTextControl::RenderTextControl):
1085         Remove the 'placeholderVisible' argument.
1086         (WebCore::RenderTextControl::layoutSpecialExcludedChild):
1087         Excludes the placeholder renderer in order to avoid to secure a box for
1088         the placeholder.
1089         * rendering/RenderTextControl.h:
1090         - Remove declarations of removed functions.
1091         - Update the RenderTextControl signature.
1092         - Add layoutSpecialExcludedChild().
1093         * rendering/RenderTextControlMultiLine.cpp:
1094         (WebCore::RenderTextControlMultiLine::RenderTextControlMultiLine):
1095         Remove the 'placeholderVisible' argument.
1096         (WebCore::RenderTextControlMultiLine::layoutSpecialExcludedChild):
1097         Laying out the placeholder box so that it has correct width and location.
1098         * rendering/RenderTextControlMultiLine.h:
1099         - Remove declarations of removed functions.
1100         - Update the RenderTextControlMultiLine signature.
1101         - Add layoutSpecialExcludedChild().
1102         * rendering/RenderTextControlSingleLine.cpp:
1103         (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine):
1104         Remove the 'placeholderVisible' argument.
1105         (WebCore::RenderTextControlSingleLine::layout):
1106         Laying out the placeholder box so that it has correct width and location.
1107         * rendering/RenderTextControlSingleLine.h:
1108         - Remove declarations of removed functions.
1109         - Update the RenderTextControlSingleLine signature.
1110         * rendering/style/RenderStyleConstants.h: Remove INPUT_PLACEHOLDER.
1111
1112 2011-07-13  James Simonsen  <simonjam@chromium.org>
1113
1114         Remove hack that forcefully prevents scripts from running in shadow SVG
1115         https://bugs.webkit.org/show_bug.cgi?id=64419
1116
1117         This hack was put in to prevent scripts from running in shadow SVG. This should never have
1118         happened, but did because we didn't parse <script> tags in SVG properly. This was fixed in
1119         r88584, so the hack is no longer needed.
1120
1121         No new tests since there is no change in functionality.
1122
1123         Reviewed by Tony Gentilcore.
1124
1125         * dom/ScriptElement.cpp:
1126         (WebCore::ScriptElement::prepareScript):
1127
1128 2011-07-13  Mihnea Ovidenie  <mihnea@adobe.com>
1129
1130         [CSSRegions] Parse -webkit-content-order property
1131         https://bugs.webkit.org/show_bug.cgi?id=63897
1132
1133         Reviewed by David Hyatt.
1134
1135         Test: fast/regions/webkit-content-order-parsing.html
1136
1137         * css/CSSComputedStyleDeclaration.cpp:
1138         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1139         * css/CSSParser.cpp:
1140         (WebCore::CSSParser::parseValue):
1141         * css/CSSPropertyNames.in:
1142         * css/CSSStyleSelector.cpp:
1143         (WebCore::CSSStyleSelector::applyProperty):
1144         * rendering/style/RenderStyle.cpp:
1145         (WebCore::RenderStyle::diff):
1146         * rendering/style/RenderStyle.h:
1147         (WebCore::InheritedFlags::regionIndex):
1148         (WebCore::InheritedFlags::setRegionIndex):
1149         (WebCore::InheritedFlags::initialRegionIndex):
1150         * rendering/style/StyleRareNonInheritedData.cpp:
1151         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
1152         (WebCore::StyleRareNonInheritedData::operator==):
1153         * rendering/style/StyleRareNonInheritedData.h:
1154
1155 2011-07-13  James Robinson  <jamesr@chromium.org>
1156
1157         Reviewed by Kenneth Russell.
1158
1159         [chromium] Move draw implementation for ContentLayerChromium/ImageLayerChromium to the appropriate CCLayerImpl subclass
1160         https://bugs.webkit.org/show_bug.cgi?id=58833
1161
1162         Adds a TiledLayerChromium class to handle the tiling logic shared by ContentLayerChromium and ImageLayerChromium
1163         so that they can be siblings in the class hierarchy instead of children. Also adds a CCTiledLayerImpl to handle
1164         the drawing responsibilities for tiled layers.
1165
1166         TiledLayerChromium maintains a tiler, tiling options, and calculates the tiling transform. Subclasses are
1167         responsible for providing an appropriate texture updater implementation. CCTiledLayerImpl takes the tiler,
1168         tiling transform and layer properties and draws the layer.  Longer term it'd be better of the CCTiledLayerImpl
1169         owned the tiler and the TiledLayerChromium only owned an updater, but getting there will require changing the
1170         way tile eviction works.
1171
1172         * WebCore.gypi:
1173         * platform/graphics/chromium/ContentLayerChromium.cpp:
1174         (WebCore::ContentLayerChromium::ContentLayerChromium):
1175         (WebCore::ContentLayerChromium::paintContentsIfDirty):
1176         (WebCore::ContentLayerChromium::drawsContent):
1177         * platform/graphics/chromium/ContentLayerChromium.h:
1178         (WebCore::ContentLayerChromium::textureUpdater):
1179         * platform/graphics/chromium/ImageLayerChromium.cpp:
1180         (WebCore::ImageLayerChromium::ImageLayerChromium):
1181         (WebCore::ImageLayerChromium::cleanupResources):
1182         (WebCore::ImageLayerChromium::paintContentsIfDirty):
1183         (WebCore::ImageLayerChromium::textureUpdater):
1184         (WebCore::ImageLayerChromium::contentBounds):
1185         (WebCore::ImageLayerChromium::drawsContent):
1186         (WebCore::ImageLayerChromium::createTextureUpdaterIfNeeded):
1187         * platform/graphics/chromium/ImageLayerChromium.h:
1188         * platform/graphics/chromium/LayerChromium.cpp:
1189         (WebCore::LayerChromium::pushPropertiesTo):
1190         (WebCore::LayerChromium::ccLayerImpl):
1191         * platform/graphics/chromium/LayerChromium.h:
1192         * platform/graphics/chromium/LayerRendererChromium.cpp:
1193         (WebCore::LayerRendererChromium::drawRootLayer):
1194         * platform/graphics/chromium/LayerTilerChromium.cpp:
1195         (WebCore::LayerTilerChromium::updateRect):
1196         (WebCore::LayerTilerChromium::draw):
1197         (WebCore::LayerTilerChromium::drawTiles):
1198         * platform/graphics/chromium/LayerTilerChromium.h:
1199         * platform/graphics/chromium/TiledLayerChromium.cpp: Added.
1200         (WebCore::TiledLayerChromium::TiledLayerChromium):
1201         (WebCore::TiledLayerChromium::~TiledLayerChromium):
1202         (WebCore::TiledLayerChromium::createCCLayerImpl):
1203         (WebCore::TiledLayerChromium::cleanupResources):
1204         (WebCore::TiledLayerChromium::setLayerRenderer):
1205         (WebCore::TiledLayerChromium::updateTileSizeAndTilingOption):
1206         (WebCore::TiledLayerChromium::drawsContent):
1207         (WebCore::TiledLayerChromium::createTilerIfNeeded):
1208         (WebCore::TiledLayerChromium::updateCompositorResources):
1209         (WebCore::TiledLayerChromium::setTilingOption):
1210         (WebCore::TiledLayerChromium::setIsMask):
1211         (WebCore::TiledLayerChromium::tilingTransform):
1212         (WebCore::TiledLayerChromium::pushPropertiesTo):
1213         (WebCore::writeIndent):
1214         (WebCore::TiledLayerChromium::dumpLayerProperties):
1215         * platform/graphics/chromium/TiledLayerChromium.h: Added.
1216         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
1217         (WebCore::CCLayerImpl::draw):
1218         * platform/graphics/chromium/cc/CCLayerImpl.h:
1219         (WebCore::CCLayerImpl::setDrawsContent):
1220         (WebCore::CCLayerImpl::drawsContent):
1221         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp: Added.
1222         (WebCore::CCTiledLayerImpl::CCTiledLayerImpl):
1223         (WebCore::CCTiledLayerImpl::~CCTiledLayerImpl):
1224         (WebCore::CCTiledLayerImpl::draw):
1225         (WebCore::CCTiledLayerImpl::bindContentsTexture):
1226         (WebCore::CCTiledLayerImpl::dumpLayerProperties):
1227         * platform/graphics/chromium/cc/CCTiledLayerImpl.h: Added.
1228         (WebCore::CCTiledLayerImpl::create):
1229         (WebCore::CCTiledLayerImpl::setTilingTransform):
1230         (WebCore::CCTiledLayerImpl::setTiler):
1231
1232 2011-07-13  Julien Chaffraix  <jchaffraix@webkit.org>
1233
1234         Remove an unused bit in RenderObject
1235         https://bugs.webkit.org/show_bug.cgi?id=64485
1236
1237         Reviewed by Darin Adler.
1238
1239         No change in behavior so no new test.
1240
1241         * rendering/RenderObject.h: Removed a bit that was duplicated from RenderTableCell.
1242         However it was not used in RenderObject and RenderTableCell already packed this bit.
1243         We were lying in the number of used bits in RenderObject which was 33. This change
1244         brings us back to what was advertised.
1245
1246 2011-07-13  Simon Fraser  <simon.fraser@apple.com>
1247
1248         Fix non-debug builds.
1249
1250         * rendering/RenderLayerBacking.cpp:
1251         (WebCore::RenderLayerBacking::createGraphicsLayer):
1252
1253 2011-07-13  Vitaly Repeshko  <vitalyr@chromium.org>
1254
1255         [chromium] Fix mac build after r90949.
1256
1257         * bindings/v8/V8HiddenPropertyName.cpp:
1258         (WebCore::V8HiddenPropertyName::hiddenReferenceName):
1259         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
1260         (WebCore::toV8Object):
1261
1262 2011-07-13  Emil A Eklund  <eae@chromium.org>
1263
1264         Switch table rendering to to new layout types
1265         https://bugs.webkit.org/show_bug.cgi?id=64478
1266
1267         Reviewed by Eric Seidel.
1268
1269         No new tests, no new functionality.
1270
1271         * rendering/AutoTableLayout.cpp:
1272         * rendering/AutoTableLayout.h:
1273         * rendering/HitTestResult.cpp:
1274         * rendering/HitTestResult.h:
1275         * rendering/LayoutTypes.h:
1276         * rendering/RenderBlock.h:
1277         * rendering/RenderBoxModelObject.cpp:
1278         * rendering/RenderBoxModelObject.h:
1279         * rendering/RenderObject.h:
1280         * rendering/RenderTable.cpp:
1281         * rendering/RenderTable.h:
1282         * rendering/RenderTableCell.cpp:
1283         * rendering/RenderTableCell.h:
1284
1285 2011-07-13  Simon Fraser  <simon.fraser@apple.com>
1286
1287         Factor some GraphicsLayer creation code in RenderLayerBacking
1288         https://bugs.webkit.org/show_bug.cgi?id=64487
1289
1290         Reviewed by Sam Weinig.
1291
1292         Move the GraphicsLayer::create() calls into once place so that we
1293         don't have lots of #ifndef NDEBUG in various places, and can share
1294         more code in future.
1295         
1296         No behavior change, so no new tests.
1297
1298         * rendering/RenderLayerBacking.cpp:
1299         (WebCore::RenderLayerBacking::RenderLayerBacking):
1300         (WebCore::RenderLayerBacking::~RenderLayerBacking):
1301         (WebCore::RenderLayerBacking::createGraphicsLayer):
1302         (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
1303         (WebCore::RenderLayerBacking::destroyGraphicsLayers):
1304         (WebCore::RenderLayerBacking::updateLayerTransform):
1305         (WebCore::RenderLayerBacking::updateClippingLayers):
1306         (WebCore::RenderLayerBacking::updateOverflowControlsLayers):
1307         (WebCore::RenderLayerBacking::updateForegroundLayer):
1308         (WebCore::RenderLayerBacking::updateMaskLayer):
1309         * rendering/RenderLayerBacking.h:
1310
1311 2011-07-13  Xan Lopez  <xlopez@igalia.com>
1312
1313         [GTK] Fix distcheck.
1314
1315         Reviewed by Martin Robinson.
1316
1317         * GNUmakefile.list.am: add missing files.
1318
1319 2011-07-13  James Robinson  <jamesr@chromium.org>
1320
1321         [chromium] No implementation defined for WTF::monotonicallyIncreasingTime
1322         https://bugs.webkit.org/show_bug.cgi?id=64420
1323
1324         Reviewed by Tony Gentilcore.
1325
1326         Removes some redundant time related code.
1327
1328         * platform/chromium/PlatformBridge.h:
1329         * platform/chromium/SystemTimeChromium.cpp:
1330         (WebCore::userIdleTime):
1331
1332 2011-07-13  Vitaly Repeshko  <vitalyr@chromium.org>
1333
1334         [V8] Avoid memory leaks with hidden references.
1335         https://bugs.webkit.org/show_bug.cgi?id=64467
1336
1337         Reviewed by Adam Barth.
1338
1339         We used to have growing arrays of hidden references associated
1340         with objects. The entries in this array had no keys and were never
1341         removed. This patch changes the interface to require a reference
1342         name. This way it's harder to leak an unbounded number of
1343         objects. Also it makes our wrapper objects one machine word
1344         smaller.
1345
1346         * bindings/scripts/CodeGeneratorV8.pm:
1347         (GenerateNormalAttrGetter): Started using new interface.
1348
1349         Interface changes:
1350         * bindings/v8/V8DOMWrapper.cpp:
1351         (WebCore::V8DOMWrapper::setNamedHiddenReference):
1352         (WebCore::V8DOMWrapper::setNamedHiddenWindowReference):
1353         * bindings/v8/V8DOMWrapper.h:
1354
1355         Added a helper to compute hidden reference names as V8 strings:
1356         * bindings/v8/V8HiddenPropertyName.cpp:
1357         (WebCore::V8HiddenPropertyName::hiddenReferenceName):
1358         * bindings/v8/V8HiddenPropertyName.h:
1359
1360         * bindings/v8/WrapperTypeInfo.h: Removed the hidden reference
1361         array internal field.
1362
1363         Update usages of hidden references:
1364         * bindings/v8/custom/V8CSSStyleSheetCustom.cpp:
1365         (WebCore::toV8):
1366         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
1367         (WebCore::toV8):
1368         * bindings/v8/custom/V8DOMTokenListCustom.cpp:
1369         (WebCore::toV8):
1370         * bindings/v8/custom/V8LocationCustom.cpp:
1371         (WebCore::toV8):
1372         * bindings/v8/custom/V8MessageChannelConstructor.cpp:
1373         (WebCore::V8MessageChannel::constructorCallback):
1374         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
1375         (WebCore::toV8):
1376         * bindings/v8/custom/V8StyleSheetCustom.cpp:
1377         (WebCore::toV8):
1378         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
1379         (WebCore::toV8Object):
1380
1381         * bindings/scripts/test/V8/V8TestObj.cpp:
1382         (WebCore::TestObjInternal::readOnlyTestObjAttrAttrGetter): Updated.
1383
1384 2011-07-13  Joseph Pecoraro  <joepeck@webkit.org>
1385
1386         Improve names of some ApplicationCacheStorage accessor methods
1387         https://bugs.webkit.org/show_bug.cgi?id=64433
1388
1389         Reviewed by Alexey Proskuryakov.
1390
1391         Some methods returned a bool for success/failure and
1392         actually returned a value as an out parameter so their
1393         name was confusing. Rename these methods to make them
1394         more clear.
1395
1396         (WebCore::ApplicationCache::diskUsageForOrigin):
1397         * loader/appcache/ApplicationCacheGroup.cpp:
1398         (WebCore::ApplicationCacheGroup::recalculateAvailableSpaceInQuota):
1399         * loader/appcache/ApplicationCacheStorage.cpp:
1400         (WebCore::ApplicationCacheStorage::calculateQuotaForOrigin):
1401         (WebCore::ApplicationCacheStorage::calculateUsageForOrigin):
1402         (WebCore::ApplicationCacheStorage::calculateRemainingSizeForOriginExcludingCache):
1403         (WebCore::ApplicationCacheStorage::checkOriginQuota):
1404         * loader/appcache/ApplicationCacheStorage.h:
1405         * loader/appcache/ApplicationCache.cpp:
1406         Rename the methods.
1407
1408         * WebCore.exp.in:
1409         Replaced old versions. Also, calculateRemaining wasn't needed
1410         outside WebCore, so no longer export it.
1411
1412 2011-07-13  Joseph Pecoraro  <joepeck@webkit.org>
1413
1414         Some ApplicationCache Origin Cleanup
1415         https://bugs.webkit.org/show_bug.cgi?id=64431
1416
1417         Reviewed by Alexey Proskuryakov.
1418
1419         - m_loadedSize is inaccurate. This just replaces it with
1420         calls to ApplicationCache::estimatedSizeInStorage.
1421
1422         - m_availableSpaceInQuota can get out of date, so we just
1423         recalculate it at the start of appcache downloads.
1424
1425         * loader/appcache/ApplicationCacheGroup.h:
1426         * loader/appcache/ApplicationCacheGroup.cpp:
1427         (WebCore::ApplicationCacheGroup::ApplicationCacheGroup):
1428         (WebCore::ApplicationCacheGroup::didReceiveData):
1429         Remove references to m_loadedSize.
1430
1431         (WebCore::ApplicationCacheGroup::didFinishLoading):
1432         Replace m_loadedSize with estimatedSizeInStorage after we
1433         add the new cached resource to the cache. The calculation
1434         already happened so this check is fast.
1435
1436         (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
1437         When we start the Downloading phase, recalculate the quota
1438         so that we have an up to date quota value so that we can
1439         break early if needed.
1440
1441 2011-07-12  Brent Fulgham  <bfulgham@webkit.org>
1442
1443         Standardize WinCairo conditionalized code under PLATFORM macro.
1444         https://bugs.webkit.org/show_bug.cgi?id=64377
1445
1446         Reviewed by Maciej Stachowiak.
1447
1448         Update compile-time conditions that had previously used #ifdef
1449         of WIN_CAIRO to consistently use PLATFORM(WIN_CAIRO).
1450
1451         * WebCore.vcproj/WebCoreCairo.vsprops: Remove redundant declaration
1452           of WIN_CAIRO.
1453         * WebCore.vcproj/WebCoreDebugCairoCFLite.vsprops: Update to use
1454           the existing WinCairo.vsprops file.
1455         * WebCorePrefix.h: Update for new WTF_PLATFORM_WIN_CAIRO define.
1456         * config.h: Update to use PLATFORM(WIN_CAIRO).
1457
1458 2011-07-13  Alexandru Chiculita  <achicu@adobe.com>
1459
1460         [CSS Exclusions] Fix for comment #23 on wrap-shape parsing bug 61726
1461         https://bugs.webkit.org/show_bug.cgi?id=64464
1462
1463         Reviewed by Tony Chang.
1464
1465         No new tests needed.
1466
1467         * css/CSSParser.cpp:
1468         (WebCore::CSSParser::parseWrapShapeRect): Removed the "valid" local.
1469         (WebCore::CSSParser::parseWrapShapeCircle): Removed the "valid" local.
1470         (WebCore::CSSParser::parseWrapShapeEllipse): Removed the "valid" local.
1471         * css/CSSPrimitiveValue.cpp:
1472         * css/CSSWrapShapes.h:
1473         (WebCore::CSSWrapShapePolygon::getXAt): Replaced bit shift with multiplication.
1474         (WebCore::CSSWrapShapePolygon::getYAt): Replaced bit shift with multiplication.
1475         * rendering/style/RenderStyle.cpp:
1476         * rendering/style/StyleRareNonInheritedData.h:
1477
1478 2011-07-13  Abhishek Arya  <inferno@chromium.org>
1479
1480         Reviewed by Adam Barth.
1481
1482         Issue with Frame lifetime due to deletion in beforeload event.
1483         https://bugs.webkit.org/show_bug.cgi?id=64457
1484
1485         Copy the Frame protector higher in the stack from loadWithDocumentLoader
1486         to loadFrameRequest since any of loadPostRequest or loadURL can call
1487         loadWithDocumentLoader, thereby dispatching the beforeload event and
1488         blowing away the frame. This deleted frame will be later accessed in
1489         the loadFrameRequest function causing a crash.       
1490  
1491         Test: fast/events/form-iframe-target-before-load-crash2.html
1492
1493         * loader/FrameLoader.cpp:
1494         (WebCore::FrameLoader::loadFrameRequest):
1495         (WebCore::FrameLoader::loadWithDocumentLoader):
1496
1497 2011-07-13  Mihnea Ovidenie  <mihnea@adobe.com>
1498
1499         [CSSRegions]content:-webkit-from-flow not applied correctly
1500         https://bugs.webkit.org/show_bug.cgi?id=64438
1501
1502         Reviewed by Tony Chang.
1503
1504         Forgot to modify getStringValue(), i was modifying only getStringValue(ExceptionCode&).
1505
1506         Test: fast/regions/content-webkit-from-flow-parsing.html (existing).
1507
1508         * css/CSSPrimitiveValue.cpp:
1509         (WebCore::CSSPrimitiveValue::getStringValue):
1510
1511 2011-07-12  Ryosuke Niwa  <rniwa@webkit.org>
1512
1513         Don't reuse the last InsertTextCommand
1514         https://bugs.webkit.org/show_bug.cgi?id=64416
1515
1516         Reviewed by Justin Garcia.
1517
1518         This patch makes the interface of InsertTextCommand less foreign. It now takes arguments in
1519         its constructor and executes the command in doApply like other edit commands.
1520
1521         * editing/CompositeEditCommand.cpp:
1522         (WebCore::CompositeEditCommand::applyCommandToComposite): Added.
1523         * editing/CompositeEditCommand.h:
1524         * editing/InsertTextCommand.cpp:
1525         (WebCore::InsertTextCommand::InsertTextCommand): Takes arguments input used to take.
1526         (WebCore::InsertTextCommand::doApply): Renamed from input.
1527         * editing/InsertTextCommand.h:
1528         (WebCore::InsertTextCommand::create): Takes arguments input used to take.
1529         * editing/TypingCommand.cpp:
1530         (WebCore::TypingCommand::insertTextRunWithoutNewlines): Creates InsertTextCommand.
1531
1532 2011-07-12  Dmitry Lomov  <dslomov@google.com>
1533
1534         https://bugs.webkit.org/show_bug.cgi?id=63041
1535         [Chromium][V8] Make DOMDataStore per-isolate
1536         This patch:
1537          - makes DOMData class an utility class with static members only
1538          - adds an isolate-specific DOMDataStore in V8BindingPerIsolateData.
1539         Dromaeo benchmarks are not affected.
1540
1541         Reviewed by Adam Barth.
1542
1543         * bindings/v8/DOMData.cpp:
1544         (WebCore::getDefaultStore):
1545         (WebCore::DOMData::getCurrentStore):
1546         * bindings/v8/DOMData.h:
1547         * bindings/v8/DOMDataStore.cpp:
1548         (WebCore::DOMDataStore::DOMDataStore):
1549         (WebCore::DOMDataStore::allStores):
1550         * bindings/v8/DOMDataStore.h:
1551         * bindings/v8/ScopedDOMDataStore.cpp:
1552         (WebCore::ScopedDOMDataStore::ScopedDOMDataStore):
1553         * bindings/v8/ScopedDOMDataStore.h:
1554         * bindings/v8/StaticDOMDataStore.cpp:
1555         (WebCore::StaticDOMDataStore::StaticDOMDataStore):
1556         * bindings/v8/StaticDOMDataStore.h:
1557         * bindings/v8/V8Binding.h:
1558         (WebCore::V8BindingPerIsolateData::allStores):
1559         (WebCore::V8BindingPerIsolateData::getDOMDataStore):
1560         (WebCore::V8BindingPerIsolateData::setDOMDataStore):
1561         * bindings/v8/V8Binding.cpp:
1562         (WebCore::V8BindingPerIsolateData::V8BindingPerIsolateData):
1563         * bindings/v8/V8DOMMap.cpp:
1564         (WebCore::DOMDataStoreHandle::DOMDataStoreHandle):
1565         (WebCore::getDOMDataStore):
1566         (WebCore::enableFasterDOMStoreAccess):
1567
1568 2011-07-12  Simon Fraser  <simon.fraser@apple.com>
1569
1570         Rename compositing-related updateContentsScale() methods
1571         https://bugs.webkit.org/show_bug.cgi?id=64430
1572
1573         Reviewed by Joseph Pecoraro.
1574
1575         Rename updateContentsScale() to something less presumptuous; layers may choose
1576         to do something other than update their contents scale when the page scale factor
1577         changes. pageScaleFactorChanged() is a better name.
1578
1579         * page/Frame.cpp:
1580         (WebCore::Frame::pageScaleFactorChanged):
1581         (WebCore::Frame::scalePage):
1582         * page/Frame.h:
1583         * rendering/RenderLayer.cpp:
1584         (WebCore::RenderLayer::pageScaleFactorChanged):
1585         * rendering/RenderLayer.h:
1586         * rendering/RenderLayerBacking.cpp:
1587         (WebCore::RenderLayerBacking::pageScaleFactorChanged):
1588         * rendering/RenderLayerBacking.h:
1589         * rendering/RenderLayerCompositor.cpp:
1590         (WebCore::RenderLayerCompositor::pageScaleFactorChanged):
1591         * rendering/RenderLayerCompositor.h:
1592
1593 2011-07-13  Pierre Rossi  <pierre.rossi@gmail.com>
1594
1595         Fix compile for QRawFont.
1596
1597         https://bugs.webkit.org/show_bug.cgi?id=64453
1598
1599         Reviewed by Andreas Kling.
1600
1601         * platform/graphics/GraphicsContext.h:
1602         * platform/graphics/qt/FontQt.cpp:
1603         (WebCore::Font::drawGlyphs):
1604
1605 2011-07-13  John Knottenbelt  <jknotten@chromium.org>
1606
1607         Reference Geolocation object from GeoNotifier and Geolocation::setIsAllowed.
1608         https://bugs.webkit.org/show_bug.cgi?id=64363
1609
1610         Reviewed by Tony Gentilcore.
1611
1612         Test: fast/dom/Geolocation/remove-remote-context-in-error-callback-crash.html
1613
1614         * page/Geolocation.cpp:
1615         (WebCore::Geolocation::setIsAllowed):
1616         * page/Geolocation.h:
1617
1618 2011-07-13  Vsevolod Vlasov  <vsevik@chromium.org>
1619
1620         Web Inspector: Network panel search needs each resource to have unique identifier.
1621         https://bugs.webkit.org/show_bug.cgi?id=64287
1622
1623         Reviewed by Pavel Feldman.
1624
1625         * inspector/front-end/NetworkManager.js:
1626         (WebInspector.NetworkManager.prototype.requestContent):
1627         (WebInspector.NetworkDispatcher):
1628         (WebInspector.NetworkDispatcher.prototype.requestWillBeSent):
1629         (WebInspector.NetworkDispatcher.prototype.resourceLoadedFromMemoryCache):
1630         (WebInspector.NetworkDispatcher.prototype._appendRedirect):
1631         * inspector/front-end/NetworkPanel.js:
1632         (WebInspector.NetworkPanel.prototype._appendResource):
1633         (WebInspector.NetworkPanel.prototype._frameNavigated):
1634         (WebInspector.NetworkPanel.prototype._updateSearchMatchedListAfterResourceIdentifierChanged):
1635
1636 2011-07-13  Alexandru Chiculita  <achicu@adobe.com>
1637
1638         Bridge RenderBoxModelObject::calculateBackgroundImageGeometry parameters into a class
1639         https://bugs.webkit.org/show_bug.cgi?id=63987
1640
1641         Reviewed by Hajime Morita.
1642
1643         Change doesn't add new functionality. No test needed.
1644
1645         * rendering/RenderBox.cpp:
1646         (WebCore::RenderBox::maskClipRect):
1647         (WebCore::RenderBox::repaintLayerRectsForImage):
1648         * rendering/RenderBoxModelObject.cpp:
1649         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
1650         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setNoRepeatX):
1651         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setNoRepeatY):
1652         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::useFixedAttachment):
1653         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::clip):
1654         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::relativePhase):
1655         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
1656         * rendering/RenderBoxModelObject.h:
1657         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::destOrigin):
1658         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setDestOrigin):
1659         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::destRect):
1660         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setDestRect):
1661         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::phase):
1662         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setPhase):
1663         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::tileSize):
1664         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setTileSize):
1665         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setPhaseX):
1666         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setPhaseY):
1667
1668 2011-07-13  MORITA Hajime  <morrita@google.com>
1669
1670         Refactoring: Ignored ExceptionCode value should be less annoying.
1671         https://bugs.webkit.org/show_bug.cgi?id=63688
1672
1673         - Introduced ExceptionCodePlaceholder class for the default parameter of ExceptionCode.
1674         - Introduced ASSERT_NO_EXCEPTION to check ExceptionCode not set to non-zero after the call.
1675         - Adopted ASSERT_NO_EXCEPTION in Range.cpp
1676
1677         No new tests. No behaviour change.
1678
1679         Reviewed by Darin Adler.
1680
1681         * GNUmakefile.list.am:
1682         * WebCore.gypi:
1683         * WebCore.xcodeproj/project.pbxproj:
1684         * dom/ExceptionCodePlaceholder.h: Added.
1685         (WebCore::ExceptionCodePlaceholder::ExceptionCodePlaceholder):
1686         (WebCore::ExceptionCodePlaceholder::operator ExceptionCode& ):
1687         (WebCore::IgnorableExceptionCode::IgnorableExceptionCode):
1688         (WebCore::CheckedExceptionCode::CheckedExceptionCode):
1689         (WebCore::CheckedExceptionCode::~CheckedExceptionCode):
1690         * dom/Range.cpp:
1691         (WebCore::Range::Range):
1692         (WebCore::Range::editingStartPosition):
1693         * dom/Range.h:        
1694
1695 2011-07-13  Nikolas Zimmermann  <nzimmermann@rim.com>
1696
1697         Regression: OOB read in svg text run
1698         https://bugs.webkit.org/show_bug.cgi?id=63627
1699
1700         Not reviewed.
1701
1702         Fixed last minute typo leading to assertions.
1703
1704         * rendering/InlineTextBox.cpp:
1705         (WebCore::InlineTextBox::paintSelection):
1706
1707 2011-07-12  Andrey Kosyakov  <caseq@chromium.org>
1708
1709         Web Inspector: factor NetworkLogView out of Network panel
1710         https://bugs.webkit.org/show_bug.cgi?id=64366
1711
1712         Reviewed by Pavel Feldman.
1713
1714         * inspector/front-end/NetworkPanel.js:
1715         (WebInspector.NetworkLogView):
1716         (WebInspector.NetworkLogView.prototype.get useLargeRows):
1717         (WebInspector.NetworkLogView.prototype.set allowPopover):
1718         (WebInspector.NetworkLogView.prototype.elementsToRestoreScrollPositionsFor):
1719         (WebInspector.NetworkLogView.prototype.resize):
1720         (WebInspector.NetworkLogView.prototype._createTable):
1721         (WebInspector.NetworkLogView.prototype.show):
1722         (WebInspector.NetworkLogView.prototype.hide):
1723         (WebInspector.NetworkLogView.prototype._reset):
1724         (WebInspector.NetworkLogView.prototype.switchToDetailedView):
1725         (WebInspector.NetworkLogView.prototype.switchToBriefView):
1726         (WebInspector.NetworkLogView.prototype.get _setLargerResources):
1727         (WebInspector.NetworkLogView.prototype._getPopoverAnchor):
1728         (WebInspector.NetworkPanel):
1729         (WebInspector.NetworkPanel.prototype.get toolbarItemLabel):
1730         (WebInspector.NetworkPanel.prototype.get statusBarItems):
1731         (WebInspector.NetworkPanel.prototype.elementsToRestoreScrollPositionsFor):
1732         (WebInspector.NetworkPanel.prototype.resize):
1733         (WebInspector.NetworkPanel.prototype._reset):
1734         (WebInspector.NetworkPanel.prototype.updateSidebarWidth):
1735         (WebInspector.NetworkPanel.prototype.updateMainViewWidth):
1736         (WebInspector.NetworkPanel.prototype.handleShortcut):
1737         (WebInspector.NetworkPanel.prototype.show):
1738         (WebInspector.NetworkPanel.prototype.hide):
1739         (WebInspector.NetworkPanel.prototype.get resources):
1740         (WebInspector.NetworkPanel.prototype.resourceById):
1741         (WebInspector.NetworkPanel.prototype.canShowAnchorLocation):
1742         (WebInspector.NetworkPanel.prototype.showAnchorLocation):
1743         (WebInspector.NetworkPanel.prototype._onViewCleared):
1744         (WebInspector.NetworkPanel.prototype._onRowSizeChanged):
1745         (WebInspector.NetworkPanel.prototype._onResourceSelected):
1746         (WebInspector.NetworkPanel.prototype._showResource):
1747         (WebInspector.NetworkPanel.prototype._closeVisibleResource):
1748         (WebInspector.NetworkPanel.prototype._toggleGridMode):
1749         (WebInspector.NetworkPanel.prototype._toggleViewingResourceMode):
1750         (WebInspector.NetworkPanel.prototype.performSearch):
1751         (WebInspector.NetworkPanel.prototype.jumpToPreviousSearchResult):
1752         (WebInspector.NetworkPanel.prototype.jumpToNextSearchResult):
1753         (WebInspector.NetworkPanel.prototype.searchCanceled):
1754         (WebInspector.NetworkDataGridNode):
1755         (WebInspector.NetworkDataGridNode.prototype.isFilteredOut):
1756         (WebInspector.NetworkDataGridNode.prototype.select):
1757         (WebInspector.NetworkDataGridNode.prototype.get selectable):
1758
1759 2011-07-13  Sheriff Bot  <webkit.review.bot@gmail.com>
1760
1761         Unreviewed, rolling out r90634.
1762         http://trac.webkit.org/changeset/90634
1763         https://bugs.webkit.org/show_bug.cgi?id=64448
1764
1765         Qt HTTP Pipelining is not robust enough to be used in that
1766         generic way. (Requested by benjaminp on #webkit).
1767
1768         * platform/network/qt/ResourceRequestQt.cpp:
1769         (WebCore::ResourceRequest::toNetworkRequest):
1770
1771 2011-07-13  Nikolas Zimmermann  <nzimmermann@rim.com>
1772
1773         Regression: OOB read in svg text run
1774         https://bugs.webkit.org/show_bug.cgi?id=63627
1775
1776         Reviewed by Zoltan Herczeg.
1777
1778         A TextRun is constructed for a portion of a string [a,b] whose original length is c (0 < a < b < c).
1779         The TextRun charactersLength variable stores the length of the remaining text from (b..c) in order
1780         to support ligatures in SVG Fonts. Example: <text>ffl</text>. When measuring the advance from char 0
1781         to char 1 the whole 'ffl' text must be passed to the SVG glyph selection code, as the SVG Font may
1782         define a single glyph for the characters 'ffl' thus leading to a single character long text
1783         pointing to the ffl ligature, not three individual 'f' / 'f' / 'l' characters anymore.
1784
1785         constructTextRun(..const UChar*, int length, ..) did not correctly calculate the maximum length (b..c).
1786         The passed in UChar buffer starts at eg. textRenderer->characters() + start(), and following condition
1787         holds true for 'length': start() + length <= textRenderer->textLength() (which denotes the maximum length
1788         of the textRenderer->characters() buffer). We have to keep track of the start() offset, so that we
1789         can calculate the charactersLength for the TextRun correctly: textRenderer->textLength() - start().
1790
1791         There are also other cases like RenderCombinedText and/or the presence of hyphens that were incorrectly
1792         tracked. Only InlineTextBox had to be fixed, the other callsites in eg. RenderBlockLineLayout already
1793         computed the maximum length correctly - I assured this by valgrind runs on all SVG Font tests.
1794
1795         * rendering/InlineTextBox.cpp:
1796         (WebCore::InlineTextBox::paint):
1797         (WebCore::InlineTextBox::paintSelection):
1798         (WebCore::InlineTextBox::constructTextRun): Add maximumLength parameter to constructTextRun.
1799         * rendering/InlineTextBox.h: Ditto.
1800
1801 2011-07-12  Antti Koivisto  <antti@apple.com>
1802
1803         didFirstVisuallyNonEmptyLayout dispatched too early
1804         https://bugs.webkit.org/show_bug.cgi?id=64412
1805
1806         Reviewed by Darin Adler and Sam Weinig.
1807
1808         Improve the mechanism that dispatches didFirstVisuallyNonEmptyLayout
1809
1810         - Wait until a threshold of characters and pixels has been exceeded before dispatching.
1811         - Wait until stylesheets are loaded (painting is disabled in this case).
1812
1813         * page/FrameView.cpp:
1814         (WebCore::FrameView::reset):
1815         (WebCore::FrameView::performPostLayoutTasks):
1816         * page/FrameView.h:
1817         (WebCore::FrameView::incrementVisuallyNonEmptyCharacterCount):
1818         (WebCore::FrameView::incrementVisuallyNonEmptyPixelCount):
1819         * rendering/RenderImage.cpp:
1820         (WebCore::RenderImage::RenderImage):
1821         (WebCore::RenderImage::imageChanged):
1822         * rendering/RenderImage.h:
1823         * rendering/RenderText.cpp:
1824         (WebCore::RenderText::RenderText):
1825
1826 2011-07-12  MORITA Hajime  <morrita@google.com>
1827
1828         [Refactoring][ShadowContentElement] Forwarded node list should be a linked-list.
1829         https://bugs.webkit.org/show_bug.cgi?id=64252
1830
1831         Reviewed by Dimitri Glazkov.
1832
1833         Introduced ShadowInclusionList and ShadowInclusion for maintaining
1834         forwarded content children. ShadowInclusion is doubly-linked list.
1835         ShadowContentElement::m_inclusions is replaced by ShadowInclusionList.
1836         
1837         This change is a prepration for bug 64251, which will introduce
1838         forwarded-children to content-element table.
1839         
1840         No new tests. No behavioral change.
1841
1842         * dom/NodeRenderingContext.cpp:
1843         (WebCore::nextRendererOf):
1844         (WebCore::previousRendererOf):
1845         (WebCore::firstRendererOf):
1846         (WebCore::lastRendererOf):
1847         * dom/ShadowContentElement.cpp:
1848         (WebCore::ShadowInclusion::append):
1849         (WebCore::ShadowInclusion::unlink):
1850         (WebCore::ShadowInclusionList::ShadowInclusionList):
1851         (WebCore::ShadowInclusionList::~ShadowInclusionList):
1852         (WebCore::ShadowInclusionList::find):
1853         (WebCore::ShadowInclusionList::clear):
1854         (WebCore::ShadowInclusionList::append):
1855         (WebCore::ShadowContentElement::attach):
1856         * dom/ShadowContentElement.h:
1857         (WebCore::ShadowInclusion::includer):
1858         (WebCore::ShadowInclusion::content):
1859         (WebCore::ShadowInclusion::next):
1860         (WebCore::ShadowInclusion::previous):
1861         (WebCore::ShadowInclusion::ShadowInclusion):
1862         (WebCore::ShadowInclusion::create):
1863         (WebCore::ShadowInclusionList::first):
1864         (WebCore::ShadowInclusionList::last):
1865         (WebCore::ShadowInclusionList::isEmpty):
1866         (WebCore::ShadowInclusionList::append):
1867         (WebCore::ShadowContentElement::inclusions):
1868         * dom/ShadowContentSelector.cpp:
1869         (WebCore::ShadowContentSelector::selectInclusion):
1870         * dom/ShadowContentSelector.h:
1871
1872 2011-07-12  David Reveman  <reveman@chromium.org>
1873
1874         [Chromium] Use nearest filter method with pixel aligned transforms.
1875         https://bugs.webkit.org/show_bug.cgi?id=64338
1876
1877         Reviewed by James Robinson.
1878
1879         Check for integer translation and use nearest texture filter when
1880         possible to avoid filter precisions problems at the layer edges.
1881
1882         Test: compositing/iframes/nested-iframe-scrolling.html (existing)
1883
1884         * platform/graphics/chromium/LayerTilerChromium.cpp:
1885         (WebCore::LayerTilerChromium::drawTiles):
1886         * platform/graphics/transforms/TransformationMatrix.cpp:
1887         (WebCore::TransformationMatrix::isIntegerTranslation):
1888         * platform/graphics/transforms/TransformationMatrix.h:
1889
1890 2011-07-12  David Reveman  <reveman@chromium.org>
1891
1892         Removed unnecessary function parameters from TilingData::textureOffset.
1893         https://bugs.webkit.org/show_bug.cgi?id=64245
1894
1895         Reviewed by Brent Fulgham.
1896
1897         No new tests, no functionality changes.
1898
1899         * platform/graphics/chromium/LayerTilerChromium.cpp:
1900         (WebCore::LayerTilerChromium::drawTiles):
1901         * platform/graphics/gpu/TilingData.cpp:
1902         (WebCore::TilingData::textureOffset):
1903         * platform/graphics/gpu/TilingData.h:
1904
1905 2011-07-12  Ryosuke Niwa  <rniwa@webkit.org>
1906
1907         Move RenderTextControl::indexForVisiblePosition to HTMLTextFormControlElement
1908         https://bugs.webkit.org/show_bug.cgi?id=64403
1909
1910         Reviewed by Hajime Morita.
1911
1912         Moved indexForVisiblePosition from RenderTextControl to HTMLTextFormControlElement.
1913
1914         Also replaced the call to RenderTextControl::isSelectableElement by a call to enclosingTextFormControl
1915         (moved from htmlediting to HTMLTextFormControlElement) because we are only interested in checking
1916         whether the given position is inside the current text form control or not.
1917
1918         In addition, modernized the code in indexForVisiblePosition by calling parentAnchoredEquivalent on the
1919         given position and replacing calls to deprecateNode and deprecatedEditingOffset by calls to containerNode
1920         and offsetInContainer.
1921
1922         * accessibility/AccessibilityRenderObject.cpp:
1923         (WebCore::AccessibilityRenderObject::indexForVisiblePosition): Calls indexForVisiblePosition.
1924         * editing/htmlediting.cpp: Removed enclosingTextFromControl.
1925         * editing/htmlediting.h: Removed enclosingTextFromControl.
1926         * html/HTMLTextFormControlElement.cpp:
1927         (WebCore::HTMLTextFormControlElement::indexForVisiblePosition): Moved from RenderTextControl.
1928         (WebCore::HTMLTextFormControlElement::computeSelectionStart): Calls indexForVisiblePosition.
1929         (WebCore::HTMLTextFormControlElement::computeSelectionEnd): Calls indexForVisiblePosition.
1930         (WebCore::enclosingTextFormControl): Moved from htmlediting.cpp
1931         * html/HTMLTextFormControlElement.h:
1932         * rendering/RenderTextControl.cpp:
1933         * rendering/RenderTextControl.h:
1934
1935 2011-07-12  Julien Chaffraix  <jchaffraix@webkit.org>
1936
1937         Make RenderObject::containingBlock virtual for better speed and clarity
1938         https://bugs.webkit.org/show_bug.cgi?id=64318
1939
1940         Reviewed by Darin Adler.
1941
1942         No new tests, performance refactoring.
1943
1944         On some of my test cases, this method takes between 3 and 5% of the time spend.
1945         The method makes 2 calls to virtual methods which could be moved to their overriden
1946         version of containingBlock if we made it virtual.
1947
1948         That's what this patch does. It saves between 1 and 2% on some synthetic test cases
1949         as well as made the current method shorter.
1950
1951         * rendering/RenderObject.cpp:
1952         (WebCore::RenderObject::containingBlock): Removed code for RenderView and RenderTableCell,
1953         replaced by ASSERTs.
1954
1955         * rendering/RenderObject.h: Made containingBlock virtual.
1956
1957         * rendering/RenderTableCell.h:
1958         (WebCore::RenderTableCell::containingBlock):
1959         * rendering/RenderView.h:
1960         (WebCore::RenderView::containingBlock):
1961         The code moved from RenderObject is inlined in those 2 methods.
1962
1963 2011-07-12  James Robinson  <jamesr@chromium.org>
1964
1965         [chromium] Chromium win build fix.
1966
1967         * platform/graphics/chromium/FontChromiumWin.cpp:
1968         (WebCore::drawGlyphsWin):
1969
1970 2011-07-12  Pratik Solanki  <psolanki@apple.com>
1971
1972         Get webkit to compile with USE(CFNETWORK) enabled on Mac
1973         https://bugs.webkit.org/show_bug.cgi?id=63674
1974
1975         Reviewed by David Kilzer.
1976
1977         Changes to ResourceHandle class to get it to compile with USE(CFNETWORK).
1978
1979         No new tests because no change in functionality and option is not enabled on Mac.
1980
1981         * platform/network/ResourceHandle.h:
1982         * platform/network/ResourceHandleInternal.h:
1983         * platform/network/cf/ResourceHandleCFNet.cpp:
1984         (WebCore::didReceiveResponse):
1985         (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
1986         (WebCore::ResourceHandle::start):
1987         (WebCore::WebCoreSynchronousLoaderClient::willSendRequest): Call adjustMIMETypeIfNecessary
1988         on Mac. Also port over fix for <rdar://problem/6901522> added in r43993 which forces the
1989         MIME type to text/html if the request is annotated with a "ForceHTMLMIMEType" property.
1990
1991 2011-07-12  James Robinson  <jamesr@chromium.org>
1992
1993         [chromium] Delete the unused legacy accelerated canvas 2d code
1994         https://bugs.webkit.org/show_bug.cgi?id=64214
1995
1996         Reviewed by Stephen White.
1997
1998         This removes the legacy accelerated canvas 2d path and support logic since we (chromium) are no longer using
1999         this codepath and it seems clear that no other port is interested.
2000
2001         Refactoring and removing unused code, so no new tests.
2002
2003         * WebCore.gypi:
2004         * WebCore.xcodeproj/project.pbxproj:
2005         * html/canvas/CanvasRenderingContext2D.cpp:
2006         (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
2007         (WebCore::CanvasRenderingContext2D::setGlobalCompositeOperation):
2008         (WebCore::CanvasRenderingContext2D::didDraw):
2009         * html/canvas/CanvasRenderingContext2D.h:
2010         * loader/EmptyClients.h:
2011         * page/ChromeClient.h:
2012         * page/Page.cpp:
2013         (WebCore::Page::sharedGraphicsContext3D):
2014         * page/Page.h:
2015         * platform/graphics/GraphicsContext.cpp:
2016         (WebCore::GraphicsContext::setSharedGraphicsContext3D):
2017         (WebCore::GraphicsContext::syncSoftwareCanvas):
2018         * platform/graphics/GraphicsContext.h:
2019         * platform/graphics/GraphicsContext3D.h:
2020         * platform/graphics/chromium/DrawingBufferChromium.cpp:
2021         (WebCore::DrawingBuffer::setGrContext):
2022         * platform/graphics/chromium/FontLinux.cpp:
2023         (WebCore::Font::drawGlyphs):
2024         * platform/graphics/chromium/cc/CCLayerSorter.cpp:
2025         (WebCore::pointInTriangle):
2026         * platform/graphics/gpu/BicubicShader.cpp: Removed.
2027         * platform/graphics/gpu/BicubicShader.h: Removed.
2028         * platform/graphics/gpu/ConvolutionShader.cpp: Removed.
2029         * platform/graphics/gpu/ConvolutionShader.h: Removed.
2030         * platform/graphics/gpu/GraphicsContextGPU.cpp: Removed.
2031         * platform/graphics/gpu/GraphicsContextGPU.h: Removed.
2032         * platform/graphics/gpu/SharedGraphicsContext3D.cpp: Removed.
2033         * platform/graphics/gpu/SharedGraphicsContext3D.h: Removed.
2034         * platform/graphics/gpu/SolidFillShader.cpp: Removed.
2035         * platform/graphics/gpu/SolidFillShader.h: Removed.
2036         * platform/graphics/gpu/TexShader.cpp: Removed.
2037         * platform/graphics/gpu/TexShader.h: Removed.
2038         * platform/graphics/skia/GraphicsContextSkia.cpp:
2039         (WebCore::GraphicsContext::savePlatformState):
2040         (WebCore::GraphicsContext::restorePlatformState):
2041         (WebCore::GraphicsContext::addInnerRoundedRectClip):
2042         (WebCore::GraphicsContext::clearRect):
2043         (WebCore::GraphicsContext::clip):
2044         (WebCore::GraphicsContext::canvasClip):
2045         (WebCore::GraphicsContext::clipOut):
2046         (WebCore::GraphicsContext::clipPath):
2047         (WebCore::GraphicsContext::concatCTM):
2048         (WebCore::GraphicsContext::setCTM):
2049         (WebCore::GraphicsContext::drawConvexPolygon):
2050         (WebCore::GraphicsContext::drawEllipse):
2051         (WebCore::GraphicsContext::drawFocusRing):
2052         (WebCore::GraphicsContext::drawLine):
2053         (WebCore::GraphicsContext::drawLineForTextChecking):
2054         (WebCore::GraphicsContext::drawLineForText):
2055         (WebCore::GraphicsContext::drawRect):
2056         (WebCore::GraphicsContext::fillPath):
2057         (WebCore::GraphicsContext::fillRect):
2058         (WebCore::GraphicsContext::fillRoundedRect):
2059         (WebCore::GraphicsContext::scale):
2060         (WebCore::GraphicsContext::setAlpha):
2061         (WebCore::GraphicsContext::setPlatformCompositeOperation):
2062         (WebCore::GraphicsContext::setPlatformFillColor):
2063         (WebCore::GraphicsContext::setPlatformShadow):
2064         (WebCore::GraphicsContext::strokeArc):
2065         (WebCore::GraphicsContext::strokePath):
2066         (WebCore::GraphicsContext::strokeRect):
2067         (WebCore::GraphicsContext::rotate):
2068         (WebCore::GraphicsContext::translate):
2069         (WebCore::GraphicsContext::setSharedGraphicsContext3D):
2070         (WebCore::GraphicsContext::syncSoftwareCanvas):
2071         * platform/graphics/skia/ImageBufferSkia.cpp:
2072         (WebCore::ImageBuffer::copyImage):
2073         (WebCore::ImageBuffer::draw):
2074         (WebCore::ImageBuffer::getUnmultipliedImageData):
2075         (WebCore::ImageBuffer::getPremultipliedImageData):
2076         (WebCore::ImageBuffer::putUnmultipliedImageData):
2077         (WebCore::ImageBuffer::putPremultipliedImageData):
2078         * platform/graphics/skia/ImageSkia.cpp:
2079         (WebCore::BitmapImage::draw):
2080         (WebCore::BitmapImageSingleFrameSkia::draw):
2081         * platform/graphics/skia/NativeImageSkia.cpp:
2082         (WebCore::NativeImageSkia::~NativeImageSkia):
2083         * platform/graphics/skia/PlatformContextSkia.cpp:
2084         (WebCore::PlatformContextSkia::PlatformContextSkia):
2085         (WebCore::PlatformContextSkia::~PlatformContextSkia):
2086         (WebCore::PlatformContextSkia::setSharedGraphicsContext3D):
2087         (WebCore::PlatformContextSkia::makeGrContextCurrent):
2088         * platform/graphics/skia/PlatformContextSkia.h:
2089
2090 2011-07-12  Emil A Eklund  <eae@chromium.org>
2091
2092         Switch InlineFlowBox to to new layout types
2093         https://bugs.webkit.org/show_bug.cgi?id=64399
2094
2095         Reviewed by Eric Seidel.
2096
2097         First step in moving floats over to the new layout abstraction.
2098
2099         No new tests, no new functionality.
2100
2101         * rendering/InlineBox.cpp:
2102         (WebCore::InlineBox::logicalHeight):
2103         * rendering/InlineBox.h:
2104         (WebCore::InlineBox::logicalTop):
2105         (WebCore::InlineBox::logicalBottom):
2106         (WebCore::InlineBox::setLogicalTop):
2107         * rendering/InlineFlowBox.cpp:
2108         (WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
2109         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
2110         (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
2111         (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
2112         (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
2113         (WebCore::InlineFlowBox::addReplacedChildOverflow):
2114         (WebCore::InlineFlowBox::constrainToLineTopAndBottomIfNeeded):
2115         (WebCore::InlineFlowBox::computeOverAnnotationAdjustment):
2116         (WebCore::InlineFlowBox::computeUnderAnnotationAdjustment):
2117         * rendering/InlineFlowBox.h:
2118         * rendering/RenderBlock.cpp:
2119         (WebCore::RenderBlock::logicalRightSelectionGap):
2120         * rendering/RenderBlock.h:
2121         * rendering/RootInlineBox.cpp:
2122         (WebCore::RootInlineBox::alignBoxesInBlockDirection):
2123         (WebCore::RootInlineBox::lineSelectionGap):
2124         (WebCore::RootInlineBox::ascentAndDescentForBox):
2125         (WebCore::RootInlineBox::verticalPositionForBox):
2126         * rendering/RootInlineBox.h:
2127         * rendering/style/RenderStyle.cpp:
2128         (WebCore::RenderStyle::getShadowExtent):
2129         (WebCore::RenderStyle::getShadowHorizontalExtent):
2130         (WebCore::RenderStyle::getShadowVerticalExtent):
2131         * rendering/style/RenderStyle.h:
2132         (WebCore::InheritedFlags::getTextShadowExtent):
2133         (WebCore::InheritedFlags::getTextShadowHorizontalExtent):
2134         (WebCore::InheritedFlags::getTextShadowVerticalExtent):
2135         (WebCore::InheritedFlags::getTextShadowInlineDirectionExtent):
2136         (WebCore::InheritedFlags::getTextShadowBlockDirectionExtent):
2137         (WebCore::InheritedFlags::getBoxShadowExtent):
2138         (WebCore::InheritedFlags::getBoxShadowHorizontalExtent):
2139         (WebCore::InheritedFlags::getBoxShadowVerticalExtent):
2140         (WebCore::InheritedFlags::getBoxShadowInlineDirectionExtent):
2141         (WebCore::InheritedFlags::getBoxShadowBlockDirectionExtent):
2142         (WebCore::InheritedFlags::getShadowInlineDirectionExtent):
2143         (WebCore::InheritedFlags::getShadowBlockDirectionExtent):
2144         * rendering/style/ShadowData.cpp:
2145         (WebCore::calculateShadowExtent):
2146         (WebCore::ShadowData::adjustRectForShadow):
2147         * rendering/style/ShadowData.h:
2148         (WebCore::ShadowData::ShadowData):
2149         (WebCore::ShadowData::x):
2150         (WebCore::ShadowData::y):
2151
2152 2011-07-12  Kenichi Ishibashi  <bashi@chromium.org>
2153
2154         [Chromium] SVG text is not rendered sometimes with geometricPrecision
2155         https://bugs.webkit.org/show_bug.cgi?id=64341
2156
2157         Changing the type of x and y offsets of ComplexTextControllerLinux to make it possible to treat negative offsets.
2158
2159         Reviewed by Tony Chang.
2160
2161         Test: platform/chromium-linux/svg/text/text-with-geometric-precision.svg
2162
2163         * platform/graphics/chromium/ComplexTextControllerLinux.cpp: Changed the type of m_offsetX and m_startingY from unsigned to int.
2164         (WebCore::ComplexTextController::ComplexTextController): Changed the type of the argument.
2165         (WebCore::ComplexTextController::reset): Ditto.
2166         * platform/graphics/chromium/ComplexTextControllerLinux.h:
2167
2168 2011-07-12  Alexandru Chiculita  <achicu@adobe.com>
2169
2170         Reviewed by David Hyatt.
2171
2172         [CSS Exclusions] Parse wrap-shape property
2173         https://bugs.webkit.org/show_bug.cgi?id=61726
2174
2175         Parsing wrap-shape: rect, circle, ellipse and polygon.
2176         Moved WindRule from Path.h to it's own file.
2177
2178         Test: fast/exclusions/parsing-wrap-shape.html
2179
2180         * WebCore.vcproj/WebCore.vcproj:
2181         * WebCore.xcodeproj/project.pbxproj:
2182         * css/CSSComputedStyleDeclaration.cpp:
2183         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2184         * css/CSSParser.cpp:
2185         (WebCore::CSSParser::parseValue):
2186         (WebCore::CSSParser::parseWrapShapeRect):
2187         (WebCore::CSSParser::parseWrapShapeCircle):
2188         (WebCore::CSSParser::parseWrapShapeEllipse):
2189         (WebCore::CSSParser::parseWrapShapePolygon):
2190         (WebCore::CSSParser::parseWrapShape):
2191         * css/CSSParser.h:
2192         * css/CSSPrimitiveValue.cpp:
2193         (WebCore::CSSPrimitiveValue::init):
2194         (WebCore::CSSPrimitiveValue::cleanup):
2195         (WebCore::CSSPrimitiveValue::cssText):
2196         * css/CSSPrimitiveValue.h:
2197         (WebCore::CSSPrimitiveValue::getShapeValue):
2198         * css/CSSPropertyNames.in:
2199         * css/CSSStyleSelector.cpp:
2200         (WebCore::CSSStyleSelector::applyProperty):
2201         * css/CSSValueKeywords.in:
2202         * css/CSSWrapShapes.cpp: Added.
2203         (WebCore::CSSWrapShapeRect::cssText):
2204         (WebCore::CSSWrapShapeCircle::cssText):
2205         (WebCore::CSSWrapShapeEllipse::cssText):
2206         (WebCore::CSSWrapShapePolygon::cssText):
2207         * css/CSSWrapShapes.h: Added.
2208         (WebCore::CSSWrapShape::~CSSWrapShape):
2209         (WebCore::CSSWrapShape::CSSWrapShape):
2210         (WebCore::CSSWrapShapeRect::create):
2211         (WebCore::CSSWrapShapeRect::left):
2212         (WebCore::CSSWrapShapeRect::top):
2213         (WebCore::CSSWrapShapeRect::width):
2214         (WebCore::CSSWrapShapeRect::height):
2215         (WebCore::CSSWrapShapeRect::radiusX):
2216         (WebCore::CSSWrapShapeRect::radiusY):
2217         (WebCore::CSSWrapShapeRect::setLeft):
2218         (WebCore::CSSWrapShapeRect::setTop):
2219         (WebCore::CSSWrapShapeRect::setWidth):
2220         (WebCore::CSSWrapShapeRect::setHeight):
2221         (WebCore::CSSWrapShapeRect::setRadiusX):
2222         (WebCore::CSSWrapShapeRect::setRadiusY):
2223         (WebCore::CSSWrapShapeRect::type):
2224         (WebCore::CSSWrapShapeRect::CSSWrapShapeRect):
2225         (WebCore::CSSWrapShapeCircle::create):
2226         (WebCore::CSSWrapShapeCircle::left):
2227         (WebCore::CSSWrapShapeCircle::top):
2228         (WebCore::CSSWrapShapeCircle::radius):
2229         (WebCore::CSSWrapShapeCircle::setLeft):
2230         (WebCore::CSSWrapShapeCircle::setTop):
2231         (WebCore::CSSWrapShapeCircle::setRadius):
2232         (WebCore::CSSWrapShapeCircle::type):
2233         (WebCore::CSSWrapShapeCircle::CSSWrapShapeCircle):
2234         (WebCore::CSSWrapShapeEllipse::create):
2235         (WebCore::CSSWrapShapeEllipse::left):
2236         (WebCore::CSSWrapShapeEllipse::top):
2237         (WebCore::CSSWrapShapeEllipse::radiusX):
2238         (WebCore::CSSWrapShapeEllipse::radiusY):
2239         (WebCore::CSSWrapShapeEllipse::setLeft):
2240         (WebCore::CSSWrapShapeEllipse::setTop):
2241         (WebCore::CSSWrapShapeEllipse::setRadiusX):
2242         (WebCore::CSSWrapShapeEllipse::setRadiusY):
2243         (WebCore::CSSWrapShapeEllipse::type):
2244         (WebCore::CSSWrapShapeEllipse::CSSWrapShapeEllipse):
2245         (WebCore::CSSWrapShapePolygon::create):
2246         (WebCore::CSSWrapShapePolygon::appendPoint):
2247         (WebCore::CSSWrapShapePolygon::getXAt):
2248         (WebCore::CSSWrapShapePolygon::getYAt):
2249         (WebCore::CSSWrapShapePolygon::setWindRule):
2250         (WebCore::CSSWrapShapePolygon::windRule):
2251         (WebCore::CSSWrapShapePolygon::type):
2252         (WebCore::CSSWrapShapePolygon::CSSWrapShapePolygon):
2253         * css/SVGCSSValueKeywords.in:
2254         * platform/graphics/Path.h:
2255         * platform/graphics/WindRule.h: Added.
2256         * rendering/style/RenderStyle.cpp:
2257         (WebCore::RenderStyle::diff):
2258         * rendering/style/RenderStyle.h:
2259         (WebCore::InheritedFlags::setWrapShape):
2260         (WebCore::InheritedFlags::wrapShape):
2261         (WebCore::InheritedFlags::initialWrapShape):
2262         * rendering/style/StyleRareNonInheritedData.cpp:
2263         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
2264         (WebCore::StyleRareNonInheritedData::operator==):
2265         * rendering/style/StyleRareNonInheritedData.h:
2266
2267 2011-07-12  Simon Fraser  <simon.fraser@apple.com>
2268
2269         Clean up some RenderLayerCompositor code relating to scroll and root layers
2270         https://bugs.webkit.org/show_bug.cgi?id=64400
2271
2272         Reviewed by James Robinson.
2273
2274         There was no need for FrameView::syncCompositingStateForThisFrame()
2275         to call syncCompositingStateForThisLayerOnly() on the various
2276         scrollbar-related layers, because the subsequent call to 
2277         compositor()->flushPendingLayerChanges() starts to flush at
2278         m_overflowControlsHostLayer if one exists, and it's an ancestor
2279         of the scrollbar layers.
2280         
2281         Also clean up terminology in RenderLayerCompositor.
2282             m_rootPlatformLayer -> m_rootContentLayer
2283             rootPlatformLayer() -> rootGraphicsLayer()
2284         
2285         No behavior change, so no new tests.
2286         
2287         * page/FrameView.cpp:
2288         (WebCore::FrameView::syncCompositingStateForThisFrame):
2289         * rendering/RenderLayerCompositor.cpp:
2290         (WebCore::RenderLayerCompositor::enableCompositingMode):
2291         (WebCore::RenderLayerCompositor::flushPendingLayerChanges):
2292         (WebCore::RenderLayerCompositor::updateCompositingLayers):
2293         (WebCore::RenderLayerCompositor::layerTreeAsText):
2294         (WebCore::RenderLayerCompositor::parentFrameContentLayers):
2295         (WebCore::RenderLayerCompositor::rootGraphicsLayer):
2296         (WebCore::RenderLayerCompositor::didMoveOnscreen):
2297         (WebCore::RenderLayerCompositor::willMoveOffscreen):
2298         (WebCore::RenderLayerCompositor::updateRootLayerPosition):
2299         (WebCore::RenderLayerCompositor::ensureRootLayer):
2300         (WebCore::RenderLayerCompositor::destroyRootLayer):
2301         (WebCore::RenderLayerCompositor::attachRootLayer):
2302         (WebCore::RenderLayerCompositor::detachRootLayer):
2303         (WebCore::RenderLayerCompositor::updateRootLayerAttachment):
2304         * rendering/RenderLayerCompositor.h:
2305
2306 2011-07-12  Sheriff Bot  <webkit.review.bot@gmail.com>
2307
2308         Unreviewed, rolling out r90842.
2309         http://trac.webkit.org/changeset/90842
2310         https://bugs.webkit.org/show_bug.cgi?id=64401
2311
2312         Causes crash in debug on compositing/overflow/content-gains-
2313         scrollbars.html (Requested by jamesr on #webkit).
2314
2315         * WebCore.gypi:
2316         * platform/graphics/chromium/ContentLayerChromium.cpp:
2317         (WebCore::ContentLayerChromium::ContentLayerChromium):
2318         (WebCore::ContentLayerChromium::paintContentsIfDirty):
2319         (WebCore::ContentLayerChromium::cleanupResources):
2320         (WebCore::ContentLayerChromium::setLayerRenderer):
2321         (WebCore::ContentLayerChromium::tilingTransform):
2322         (WebCore::ContentLayerChromium::contentBounds):
2323         (WebCore::ContentLayerChromium::updateLayerSize):
2324         (WebCore::ContentLayerChromium::draw):
2325         (WebCore::ContentLayerChromium::drawsContent):
2326         (WebCore::ContentLayerChromium::createTilerIfNeeded):
2327         (WebCore::ContentLayerChromium::updateCompositorResources):
2328         (WebCore::ContentLayerChromium::setTilingOption):
2329         (WebCore::ContentLayerChromium::bindContentsTexture):
2330         (WebCore::ContentLayerChromium::setIsMask):
2331         (WebCore::writeIndent):
2332         (WebCore::ContentLayerChromium::dumpLayerProperties):
2333         * platform/graphics/chromium/ContentLayerChromium.h:
2334         * platform/graphics/chromium/ImageLayerChromium.cpp:
2335         (WebCore::ImageLayerChromium::ImageLayerChromium):
2336         (WebCore::ImageLayerChromium::paintContentsIfDirty):
2337         (WebCore::ImageLayerChromium::updateCompositorResources):
2338         (WebCore::ImageLayerChromium::contentBounds):
2339         * platform/graphics/chromium/ImageLayerChromium.h:
2340         (WebCore::ImageLayerChromium::drawsContent):
2341         * platform/graphics/chromium/LayerChromium.cpp:
2342         (WebCore::LayerChromium::pushPropertiesTo):
2343         (WebCore::LayerChromium::ccLayerImpl):
2344         * platform/graphics/chromium/LayerChromium.h:
2345         (WebCore::LayerChromium::draw):
2346         * platform/graphics/chromium/LayerRendererChromium.cpp:
2347         (WebCore::LayerRendererChromium::drawRootLayer):
2348         * platform/graphics/chromium/LayerTilerChromium.cpp:
2349         (WebCore::LayerTilerChromium::updateRect):
2350         (WebCore::LayerTilerChromium::draw):
2351         (WebCore::LayerTilerChromium::drawTiles):
2352         * platform/graphics/chromium/LayerTilerChromium.h:
2353         * platform/graphics/chromium/TiledLayerChromium.cpp: Removed.
2354         * platform/graphics/chromium/TiledLayerChromium.h: Removed.
2355         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
2356         (WebCore::CCLayerImpl::drawsContent):
2357         (WebCore::CCLayerImpl::draw):
2358         * platform/graphics/chromium/cc/CCLayerImpl.h:
2359         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp: Removed.
2360         * platform/graphics/chromium/cc/CCTiledLayerImpl.h: Removed.
2361
2362 2011-07-12  Joseph Pecoraro  <joepeck@webkit.org>
2363
2364         ApplicationCache update should not immediately fail when reaching per-origin quota
2365         https://bugs.webkit.org/show_bug.cgi?id=64177
2366
2367         Reviewed by Alexey Proskuryakov.
2368
2369         New behavior of handling ApplicationCache per-origin quotas. Previously,
2370         if the quota was reached while downloading we would fail the download
2371         and then prompt the user for a storage increase. This required a refresh,
2372         a redownload of resources, and the total storage was not known so the
2373         process could be repeated multiple times before an acceptable quota
2374         was found or the user disallowed an increase.
2375         
2376         The new behavior is to complete the download of the entire appcache.
2377         When the cache completes downloading and it is greater than the origin
2378         quota, prompt the user to allow a quota increase with the known space
2379         needed. If the quota is increased, the cache will succeed, otherwise
2380         it will fail with the normal failure steps.
2381
2382         An alternative behavior is prompting while downloading immediately
2383         when the origin quota is reached, however at that point the entire
2384         space needed is unknown and so quota increases might not be enough
2385         and could result in multiple prompts to the user.
2386
2387         Tests: http/tests/appcache/origin-quota-continued-download-multiple-manifests.html
2388                http/tests/appcache/origin-quota-continued-download.html
2389
2390         * loader/appcache/ApplicationCacheGroup.h:
2391         * loader/appcache/ApplicationCacheGroup.cpp:
2392         (WebCore::ApplicationCacheGroup::ApplicationCacheGroup):
2393         Rename instance variable to be more clear on its intent.
2394
2395         (WebCore::ApplicationCacheGroup::didFinishLoading):
2396         Check the quota limit while downloading so we can fail early
2397         if the user already denied a quota increase.
2398
2399         (WebCore::ApplicationCacheGroup::didReachOriginQuota):
2400         Pass the space needed information to the chrome client.
2401
2402         (WebCore::ApplicationCacheGroup::cacheUpdateFailedDueToOriginQuota):
2403         Removed. Instead convert the callers to update state and console
2404         log when the per-origin quota is reached. This allows us to follow
2405         the normal failure steps if the quota is reached at the end of a
2406         download, and the alternative short path when we fail during downloading.
2407
2408         (WebCore::ApplicationCacheGroup::recalculateAvailableSpaceInQuota):
2409         Extract to a helper function.
2410
2411         (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
2412         Allow for a quota increase at the end of the download now that
2413         we know the space needed. Then proceed to fail or succeed
2414         as we normally would.
2415
2416         * loader/appcache/ApplicationCacheStorage.h:
2417         * loader/appcache/ApplicationCacheStorage.cpp:
2418         (WebCore::ApplicationCacheStorage::checkOriginQuota):
2419         (WebCore::ApplicationCacheStorage::storeNewestCache):
2420         Extract checking the origin quota for when an ApplicationCacheGroup
2421         will be replacing an ApplicationCacheGroup into a helper function.
2422         The helper also provides an out parameter for the space needed
2423         to properly fit the new cache group if it wouldn't fit.
2424
2425         * page/ChromeClient.h:
2426         * loader/EmptyClients.h:
2427         (WebCore::EmptyChromeClient::reachedApplicationCacheOriginQuota):
2428         Add a space needed parameter when reaching the per-origin quota.
2429
2430 2011-07-12  Chris Rogers  <crogers@google.com>
2431
2432         AudioDevice::Stop can close NULL handle.
2433         https://bugs.webkit.org/show_bug.cgi?id=64157
2434
2435         Reviewed by Kenneth Russell.
2436
2437         No new tests since audio API is not yet implemented.
2438
2439         * bindings/js/JSAudioContextCustom.cpp:
2440         (WebCore::JSAudioContextConstructor::constructJSAudioContext):
2441         * bindings/v8/custom/V8AudioContextCustom.cpp:
2442         (WebCore::V8AudioContext::constructorCallback):
2443         * webaudio/AudioContext.cpp:
2444         (WebCore::AudioContext::create):
2445         (WebCore::AudioContext::uninitialize):
2446         * webaudio/AudioContext.h:
2447
2448 2011-07-12  John Bates  <jbates@google.com>
2449
2450         Move call to syncCompositingLayers so that we do not trigger redundant draws.
2451         https://bugs.webkit.org/show_bug.cgi?id=64224
2452
2453         doComposite was triggering two composites every time a canvas was dirtied.
2454         By moving syncCompositingLayers call to layout, the client code can draw without triggering
2455         a redundant frame. Also renamed WebViewImpl::updateLayers to
2456         syncCompositingLayers, because it was confusing. CCLayerTreeHostImplProxy::updateLayers was
2457         no longer needed, because animateAndLayout calls WebViewImpl::layout.
2458
2459         Reviewed by James Robinson.
2460
2461         * platform/graphics/chromium/LayerRendererChromium.cpp:
2462         (WebCore::LayerRendererChromium::updateLayers):
2463         * platform/graphics/chromium/LayerRendererChromium.h:
2464         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2465         (WebCore::CCLayerTreeHost::syncCompositingLayers):
2466         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2467         * platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.cpp:
2468         (WebCore::CCLayerTreeHostImplProxy::requestFrameAndCommit):
2469
2470 2011-07-12  Ryosuke Niwa  <rniwa@webkit.org>
2471
2472         Isolate HTMLTextFormControlElement into a separate file
2473         https://bugs.webkit.org/show_bug.cgi?id=64381
2474
2475         Reviewed by Dimitri Glazkov.
2476
2477         Extracted HTMLTextFormControlElement.h and HTMLTextFormControlElement.cpp out of
2478         HTMLFormControlElement.h and HTMLFormControlElement.cpp.
2479
2480         Also moved defaultEventHandler from HTMLFormControlElementWithState to HTMLTextFormControlElement
2481         because it was specific to HTMLTextFormControlElement, and replaced all references to
2482         HTMLFormControlElementWithState in HTMLInputElement and HTMLTextAreaElement by ones to
2483         HTMLTextFormControlElement.
2484
2485         * CMakeLists.txt:
2486         * GNUmakefile.list.am:
2487         * WebCore.gypi:
2488         * WebCore.pro:
2489         * WebCore.vcproj/WebCore.vcproj:
2490         * WebCore.xcodeproj/project.pbxproj:
2491         * editing/TextIterator.cpp:
2492         * editing/htmlediting.cpp:
2493         * html/HTMLElementsAllInOne.cpp:
2494         * html/HTMLFormControlElement.cpp:
2495         (WebCore::HTMLFormControlElement::isFocusable):
2496         * html/HTMLFormControlElement.h:
2497         * html/HTMLInputElement.cpp:
2498         (WebCore::HTMLInputElement::isKeyboardFocusable):
2499         (WebCore::HTMLInputElement::isMouseFocusable):
2500         (WebCore::HTMLInputElement::updateFocusAppearance):
2501         (WebCore::HTMLInputElement::canStartSelection):
2502         (WebCore::HTMLInputElement::parseMappedAttribute):
2503         (WebCore::HTMLInputElement::finishParsingChildren):
2504         (WebCore::HTMLInputElement::rendererIsNeeded):
2505         (WebCore::HTMLInputElement::attach):
2506         (WebCore::HTMLInputElement::detach):
2507         (WebCore::HTMLInputElement::copyNonAttributeProperties):
2508         (WebCore::HTMLInputElement::defaultEventHandler):
2509         (WebCore::HTMLInputElement::willMoveToNewOwnerDocument):
2510         (WebCore::HTMLInputElement::didMoveToNewOwnerDocument):
2511         (WebCore::HTMLInputElement::addSubresourceAttributeURLs):
2512         (WebCore::HTMLInputElement::recalcWillValidate):
2513         * html/HTMLInputElement.h:
2514         * html/HTMLTextAreaElement.cpp:
2515         (WebCore::HTMLTextAreaElement::defaultEventHandler):
2516         * html/HTMLTextAreaElement.h:
2517         * html/HTMLTextFormControlElement.cpp: Copied from Source/WebCore/html/HTMLFormControlElement.cpp.
2518         (WebCore::HTMLTextFormControlElement::defaultEventHandler):
2519         * html/HTMLTextFormControlElement.h: Copied from Source/WebCore/html/HTMLFormControlElement.h.
2520
2521 2011-07-12  Sheriff Bot  <webkit.review.bot@gmail.com>
2522
2523         Unreviewed, rolling out r90831.
2524         http://trac.webkit.org/changeset/90831
2525         https://bugs.webkit.org/show_bug.cgi?id=64389
2526
2527         Likely caused fast/canvas/DrawImageSinglePixelStretch.html to
2528         start timing out on the chromium GPU bots (Requested by ojan
2529         on #webkit).
2530
2531         * platform/graphics/skia/ImageBufferSkia.cpp:
2532         (WebCore::getImageData):
2533         (WebCore::putImageData):
2534
2535 2011-07-12  James Robinson  <jamesr@chromium.org>
2536
2537         Reviewed by Kenneth Russell.
2538
2539         [chromium] Move draw implementation for ContentLayerChromium/ImageLayerChromium to the appropriate CCLayerImpl subclass
2540         https://bugs.webkit.org/show_bug.cgi?id=58833
2541
2542         Adds a TiledLayerChromium class to handle the tiling logic shared by ContentLayerChromium and ImageLayerChromium
2543         so that they can be siblings in the class hierarchy instead of children. Also adds a CCTiledLayerImpl to handle
2544         the drawing responsibilities for tiled layers.
2545
2546         TiledLayerChromium maintains a tiler, tiling options, and calculates the tiling transform. Subclasses are
2547         responsible for providing an appropriate texture updater implementation. CCTiledLayerImpl takes the tiler,
2548         tiling transform and layer properties and draws the layer.  Longer term it'd be better of the CCTiledLayerImpl
2549         owned the tiler and the TiledLayerChromium only owned an updater, but getting there will require changing the
2550         way tile eviction works.
2551
2552         * WebCore.gypi:
2553         * platform/graphics/chromium/ContentLayerChromium.cpp:
2554         (WebCore::ContentLayerChromium::ContentLayerChromium):
2555         (WebCore::ContentLayerChromium::paintContentsIfDirty):
2556         (WebCore::ContentLayerChromium::drawsContent):
2557         * platform/graphics/chromium/ContentLayerChromium.h:
2558         (WebCore::ContentLayerChromium::textureUpdater):
2559         * platform/graphics/chromium/ImageLayerChromium.cpp:
2560         (WebCore::ImageLayerChromium::ImageLayerChromium):
2561         (WebCore::ImageLayerChromium::cleanupResources):
2562         (WebCore::ImageLayerChromium::paintContentsIfDirty):
2563         (WebCore::ImageLayerChromium::textureUpdater):
2564         (WebCore::ImageLayerChromium::contentBounds):
2565         (WebCore::ImageLayerChromium::drawsContent):
2566         (WebCore::ImageLayerChromium::createTextureUpdaterIfNeeded):
2567         * platform/graphics/chromium/ImageLayerChromium.h:
2568         * platform/graphics/chromium/LayerChromium.cpp:
2569         (WebCore::LayerChromium::pushPropertiesTo):
2570         (WebCore::LayerChromium::ccLayerImpl):
2571         * platform/graphics/chromium/LayerChromium.h:
2572         (WebCore::LayerChromium::contentBounds):
2573         * platform/graphics/chromium/LayerRendererChromium.cpp:
2574         (WebCore::LayerRendererChromium::drawRootLayer):
2575         (WebCore::visibleLayerRect):
2576         (WebCore::paintLayerContentsIfDirty):
2577         (WebCore::LayerRendererChromium::paintLayerContents):
2578         (WebCore::LayerRendererChromium::drawLayer):
2579         * platform/graphics/chromium/LayerTilerChromium.cpp:
2580         (WebCore::LayerTilerChromium::updateRect):
2581         (WebCore::LayerTilerChromium::draw):
2582         (WebCore::LayerTilerChromium::drawTiles):
2583         * platform/graphics/chromium/LayerTilerChromium.h:
2584         * platform/graphics/chromium/TiledLayerChromium.cpp: Added.
2585         (WebCore::TiledLayerChromium::TiledLayerChromium):
2586         (WebCore::TiledLayerChromium::~TiledLayerChromium):
2587         (WebCore::TiledLayerChromium::createCCLayerImpl):
2588         (WebCore::TiledLayerChromium::cleanupResources):
2589         (WebCore::TiledLayerChromium::setLayerRenderer):
2590         (WebCore::TiledLayerChromium::updateTileSizeAndTilingOption):
2591         (WebCore::TiledLayerChromium::drawsContent):
2592         (WebCore::TiledLayerChromium::createTilerIfNeeded):
2593         (WebCore::TiledLayerChromium::updateCompositorResources):
2594         (WebCore::TiledLayerChromium::setTilingOption):
2595         (WebCore::TiledLayerChromium::setIsMask):
2596         (WebCore::TiledLayerChromium::tilingTransform):
2597         (WebCore::TiledLayerChromium::pushPropertiesTo):
2598         (WebCore::writeIndent):
2599         (WebCore::TiledLayerChromium::dumpLayerProperties):
2600         * platform/graphics/chromium/TiledLayerChromium.h: Copied from Source/WebCore/platform/graphics/chromium/ContentLayerChromium.h.
2601         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
2602         (WebCore::CCLayerImpl::draw):
2603         * platform/graphics/chromium/cc/CCLayerImpl.h:
2604         (WebCore::CCLayerImpl::setDrawsContent):
2605         (WebCore::CCLayerImpl::drawsContent):
2606         (WebCore::CCLayerImpl::contentBounds):
2607         (WebCore::CCLayerImpl::setContentBounds):
2608         (WebCore::CCLayerImpl::doubleSided):
2609         (WebCore::CCLayerImpl::setDoubleSided):
2610         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp: Added.
2611         (WebCore::CCTiledLayerImpl::CCTiledLayerImpl):
2612         (WebCore::CCTiledLayerImpl::~CCTiledLayerImpl):
2613         (WebCore::CCTiledLayerImpl::draw):
2614         (WebCore::CCTiledLayerImpl::bindContentsTexture):
2615         (WebCore::CCTiledLayerImpl::dumpLayerProperties):
2616         * platform/graphics/chromium/cc/CCTiledLayerImpl.h: Added.
2617         (WebCore::CCTiledLayerImpl::create):
2618         (WebCore::CCTiledLayerImpl::setTilingTransform):
2619         (WebCore::CCTiledLayerImpl::setTiler):
2620
2621 2011-07-12  Arno Renevier  <arno@renevier.net>
2622
2623         [GTK] DOM bindings do not have gir annotations
2624         https://bugs.webkit.org/show_bug.cgi?id=45395
2625
2626         Reviewed by Xan Lopez.
2627
2628         * bindings/scripts/CodeGeneratorGObject.pm: generate introspection annotations.
2629         * bindings/scripts/test/GObject/WebKitDOMTestCallback.h: update for new output.
2630         * bindings/scripts/test/GObject/WebKitDOMTestObj.h: ditto.
2631         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h: ditto.
2632
2633 2011-07-12  Chris Rogers  <crogers@google.com>
2634
2635         webkitAudioContext does not do proper sanity checking on its arguments.
2636         https://bugs.webkit.org/show_bug.cgi?id=64076
2637
2638         Reviewed by Kenneth Russell.
2639
2640         No new tests since audio API is not yet implemented.
2641
2642         * bindings/js/JSAudioContextCustom.cpp:
2643         (WebCore::JSAudioContextConstructor::constructJSAudioContext):
2644         (WebCore::JSAudioContext::createBuffer):
2645         * bindings/v8/custom/V8AudioContextCustom.cpp:
2646         (WebCore::V8AudioContext::constructorCallback):
2647         (WebCore::V8AudioContext::createBufferCallback):
2648         * platform/audio/HRTFDatabaseLoader.h:
2649         (WebCore::HRTFDatabaseLoader::databaseSampleRate):
2650         * webaudio/AudioContext.cpp:
2651         (WebCore::AudioContext::create):
2652         (WebCore::AudioContext::createOfflineContext):
2653         (WebCore::AudioContext::createBuffer):
2654         * webaudio/AudioContext.h:
2655
2656 2011-07-12  Pratik Solanki  <psolanki@apple.com>
2657
2658         Implement didReceiveDataArray callback for CFNetwork based loader
2659         https://bugs.webkit.org/show_bug.cgi?id=64130
2660
2661         Reviewed by David Kilzer.
2662
2663         Factor out the didReceiveDataArray code from ResourceHandleMac.mm into
2664         a new method ResourceHandle::handleDataArray(). Implement the callback
2665         in the CFNetwork loader code and call handleDataArray() to process
2666         incoming data.
2667
2668         No new tests because the flag is not enabled for any bots.
2669
2670         * platform/network/ResourceHandle.h:
2671         * platform/network/cf/ResourceHandleCFNet.cpp:
2672         (WebCore::didReceiveDataArray):
2673         (WebCore::ResourceHandle::createCFURLConnection):
2674         (WebCore::ResourceHandle::handleDataArray):
2675         * platform/network/mac/ResourceHandleMac.mm:
2676         (-[WebCoreResourceHandleAsDelegate connection:didReceiveDataArray:]):
2677
2678 2011-07-12  Emil A Eklund  <eae@chromium.org>
2679
2680         Switch preferred width/height and columns to to new layout types
2681         https://bugs.webkit.org/show_bug.cgi?id=64329
2682
2683         Reviewed by Eric Seidel.
2684
2685         No new tests, no new functionality.
2686
2687         * rendering/LayoutTypes.h:
2688         (WebCore::ceiledLayoutUnit):
2689         Add ceiledLayoutUnit to go with the floored version.
2690         
2691         * rendering/RenderBlock.cpp:
2692         (WebCore::RenderBlock::adjustRectForColumns):
2693         (WebCore::RenderBlock::flipForWritingModeIncludingColumns):
2694         (WebCore::RenderBlock::adjustStartEdgeForWritingModeIncludingColumns):
2695         Rename rect version of flipForWritingModeIncludingColumns to
2696         adjustStartEdgeForWritingModeIncludingColumns as it adjust the start edge
2697         and does not flip the rect.
2698        
2699         (WebCore::RenderBlock::adjustForColumns):
2700         (WebCore::updatePreferredWidth):
2701         * rendering/RenderBlock.h:
2702         * rendering/RenderBox.cpp:
2703         (WebCore::RenderBox::minPreferredLogicalWidth):
2704         (WebCore::RenderBox::maxPreferredLogicalWidth):
2705         (WebCore::RenderBox::offsetFromContainer):
2706         (WebCore::RenderBox::computePercentageLogicalHeight):
2707         (WebCore::RenderBox::flipForWritingMode):
2708         (WebCore::RenderBox::flipForWritingModeIncludingColumns):
2709         * rendering/RenderBox.h:
2710         * rendering/RenderListBox.cpp:
2711         (WebCore::RenderListBox::itemBoundingBoxRect):
2712         * rendering/RenderListBox.h:
2713         * rendering/RenderObject.h:
2714         (WebCore::RenderObject::minPreferredLogicalWidth):
2715         (WebCore::RenderObject::maxPreferredLogicalWidth):
2716         (WebCore::RenderObject::adjustForColumns):
2717         * rendering/RenderReplaced.cpp:
2718         (WebCore::RenderReplaced::computeReplacedLogicalWidth):
2719         (WebCore::RenderReplaced::computeReplacedLogicalHeight):
2720         * rendering/TableLayout.h:
2721
2722 2011-07-12  Levi Weintraub  <leviw@chromium.org>
2723
2724         Change roundedIntRect to roundedRect
2725         https://bugs.webkit.org/show_bug.cgi?id=64326
2726
2727         Reviewed by Eric Seidel.
2728
2729         Renaming RoundedIntRect to RoundedRect and moving the underlying type to Layout units from
2730         integer-based versions.
2731
2732         No new tests, no new functionality
2733
2734         * WebCore.gypi:
2735         * WebCore.pro:
2736         * WebCore.vcproj/WebCore.vcproj:
2737         * WebCore.xcodeproj/project.pbxproj:
2738         * platform/graphics/GraphicsContext.cpp:
2739         (WebCore::GraphicsContext::addRoundedRectClip):
2740         (WebCore::GraphicsContext::clipOutRoundedRect):
2741         (WebCore::GraphicsContext::fillRoundedRect):
2742         (WebCore::GraphicsContext::fillRectWithRoundedHole):
2743         * platform/graphics/GraphicsContext.h:
2744         * platform/graphics/Path.cpp:
2745         (WebCore::Path::addRoundedRect):
2746         * platform/graphics/Path.h:
2747         * platform/graphics/RoundedIntRect.cpp: Removed.
2748         * platform/graphics/RoundedIntRect.h: Removed.
2749         * platform/graphics/RoundedRect.cpp: Copied from Source/WebCore/platform/graphics/RoundedIntRect.cpp.
2750         (WebCore::RoundedRect::Radii::isZero):
2751         (WebCore::RoundedRect::Radii::scale):
2752         (WebCore::RoundedRect::Radii::expand):
2753         (WebCore::RoundedRect::inflateWithRadii):
2754         (WebCore::RoundedRect::Radii::includeLogicalEdges):
2755         (WebCore::RoundedRect::Radii::excludeLogicalEdges):
2756         (WebCore::RoundedRect::RoundedRect):
2757         (WebCore::RoundedRect::includeLogicalEdges):
2758         (WebCore::RoundedRect::excludeLogicalEdges):
2759         (WebCore::RoundedRect::isRenderable):
2760         * platform/graphics/RoundedRect.h: Copied from Source/WebCore/platform/graphics/RoundedIntRect.h.
2761         (WebCore::RoundedRect::Radii::Radii):
2762         (WebCore::RoundedRect::Radii::setTopLeft):
2763         (WebCore::RoundedRect::Radii::setTopRight):
2764         (WebCore::RoundedRect::Radii::setBottomLeft):
2765         (WebCore::RoundedRect::Radii::setBottomRight):
2766         (WebCore::RoundedRect::Radii::topLeft):
2767         (WebCore::RoundedRect::Radii::topRight):
2768         (WebCore::RoundedRect::Radii::bottomLeft):
2769         (WebCore::RoundedRect::Radii::bottomRight):
2770         (WebCore::RoundedRect::Radii::expand):
2771         (WebCore::RoundedRect::Radii::shrink):
2772         (WebCore::RoundedRect::rect):
2773         (WebCore::RoundedRect::setRect):
2774         (WebCore::RoundedRect::move):
2775         (WebCore::RoundedRect::inflate):
2776         (WebCore::RoundedRect::expandRadii):
2777         (WebCore::RoundedRect::shrinkRadii):
2778         (WebCore::operator==):
2779         * platform/graphics/ShadowBlur.cpp:
2780         (WebCore::ScratchBuffer::setLastShadowValues):
2781         (WebCore::ScratchBuffer::setLastInsetShadowValues):
2782         (WebCore::ScratchBuffer::matchesLastShadow):
2783         (WebCore::ScratchBuffer::matchesLastInsetShadow):
2784         (WebCore::computeSliceSizesFromRadii):
2785         (WebCore::ShadowBlur::templateSize):
2786         (WebCore::ShadowBlur::drawRectShadow):
2787         (WebCore::ShadowBlur::drawInsetShadow):
2788         (WebCore::ShadowBlur::drawRectShadowWithoutTiling):
2789         (WebCore::ShadowBlur::drawInsetShadowWithoutTiling):
2790         (WebCore::ShadowBlur::drawInsetShadowWithTiling):
2791         (WebCore::ShadowBlur::drawRectShadowWithTiling):
2792         (WebCore::ShadowBlur::drawLayerPieces):
2793         * platform/graphics/ShadowBlur.h:
2794         * platform/graphics/cg/GraphicsContextCG.cpp:
2795         (WebCore::GraphicsContext::fillRect):
2796         (WebCore::GraphicsContext::fillRoundedRect):
2797         (WebCore::GraphicsContext::fillRectWithRoundedHole):
2798         * rendering/RenderBox.cpp:
2799         (WebCore::RenderBox::paintBoxDecorations):
2800         * rendering/RenderBoxModelObject.cpp:
2801         (WebCore::RenderBoxModelObject::getBackgroundRoundedRect):
2802         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
2803         (WebCore::RenderBoxModelObject::paintOneBorderSide):
2804         (WebCore::RenderBoxModelObject::paintBorderSides):
2805         (WebCore::RenderBoxModelObject::paintTranslucentBorderSides):
2806         (WebCore::RenderBoxModelObject::paintBorder):
2807         (WebCore::RenderBoxModelObject::drawBoxSideFromPath):
2808         (WebCore::RenderBoxModelObject::clipBorderSidePolygon):
2809         (WebCore::RenderBoxModelObject::paintBoxShadow):
2810         * rendering/RenderBoxModelObject.h:
2811         * rendering/RenderThemeMac.mm:
2812         (WebCore::RenderThemeMac::paintMenuListButtonGradients):
2813         (WebCore::RenderThemeMac::paintSliderTrack):
2814         * rendering/style/RenderStyle.cpp:
2815         (WebCore::calcRadiiFor):
2816         (WebCore::calcConstraintScaleFor):
2817         (WebCore::RenderStyle::getRoundedBorderFor):
2818         (WebCore::RenderStyle::getRoundedInnerBorderFor):
2819         * rendering/style/RenderStyle.h:
2820
2821 2011-07-12  Mike Reed  <reed@google.com>
2822
2823         [skia] optimize getImageData to avoid a copy when not needed. lockPixels() now does the right thing.
2824         https://bugs.webkit.org/show_bug.cgi?id=64302
2825
2826         Reviewed by Stephen White.
2827
2828         No new tests. Just an optimization for getImageData(), existing <canvas> tests apply
2829
2830         * platform/graphics/skia/ImageBufferSkia.cpp:
2831         (WebCore::getImageData):
2832         (WebCore::putImageData):
2833
2834 2011-07-12  Pavel Feldman  <pfeldman@google.com>
2835
2836         Web Inspector: introduce UserMetrics for collecting stats in Chromium port.
2837         https://bugs.webkit.org/show_bug.cgi?id=64350
2838
2839         Reviewed by Yury Semikhatsky.
2840
2841         Test: inspector/user-metrics.html
2842
2843         * WebCore.gypi:
2844         * WebCore.vcproj/WebCore.vcproj:
2845         * bindings/js/JSInspectorFrontendHostCustom.cpp:
2846         (WebCore::JSInspectorFrontendHost::recordActionTaken):
2847         (WebCore::JSInspectorFrontendHost::recordPanelShown):
2848         (WebCore::JSInspectorFrontendHost::recordSettingChanged):
2849         * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
2850         (WebCore::histogramEnumeration):
2851         (WebCore::V8InspectorFrontendHost::recordActionTakenCallback):
2852         (WebCore::V8InspectorFrontendHost::recordPanelShownCallback):
2853         (WebCore::V8InspectorFrontendHost::recordSettingChangedCallback):
2854         * inspector/InspectorFrontendHost.idl:
2855         * inspector/front-end/AuditsPanel.js:
2856         (WebInspector.AuditsPanel.prototype.initiateAudit):
2857         * inspector/front-end/ConsoleView.js:
2858         * inspector/front-end/DebuggerModel.js:
2859         (WebInspector.DebuggerModel.prototype.setBreakpoint):
2860         (WebInspector.DebuggerModel.prototype.setBreakpointBySourceId):
2861         * inspector/front-end/InspectorFrontendHostStub.js:
2862         (.WebInspector.InspectorFrontendHostStub.prototype.loadSessionSetting):
2863         (.WebInspector.InspectorFrontendHostStub.prototype.recordActionTaken):
2864         (.WebInspector.InspectorFrontendHostStub.prototype.recordPanelShown):
2865         (.WebInspector.InspectorFrontendHostStub.prototype.recordSettingChanged):
2866         * inspector/front-end/ProfilesPanel.js:
2867         (WebInspector.ProfilesPanel.prototype._setRecordingProfile):
2868         (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):
2869         * inspector/front-end/TimelinePanel.js:
2870         (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClicked):
2871         * inspector/front-end/UserMetrics.js: Added.
2872         (WebInspector.UserMetrics.settingChanged):
2873         (WebInspector.UserMetrics):
2874         (WebInspector.UserMetrics.prototype.panelShown):
2875         (WebInspector.UserMetrics._Recorder):
2876         (WebInspector.UserMetrics._Recorder.prototype.record):
2877         * inspector/front-end/WebKit.qrc:
2878         * inspector/front-end/inspector.html:
2879         * inspector/front-end/inspector.js:
2880         (WebInspector._toggleAttach):
2881
2882 2011-07-12  Pratik Solanki  <psolanki@apple.com>
2883
2884         Reviewed by David Kilzer.
2885
2886         Add NSURLResponse wrapper in ResourceResponse when USE(CFNETWORK) is enabled
2887         https://bugs.webkit.org/show_bug.cgi?id=63286
2888
2889         When USE(CFNETWORK) is enabled on Mac, keep an NSURLResponse object along with the
2890         CFURLResponseRef so that WebKit can continue using the NSURLResponse.
2891
2892         No new tests because no change in functionality and option is not enabled on Mac.
2893
2894         * platform/network/cf/ResourceResponse.h:
2895         (WebCore::ResourceResponse::ResourceResponse):
2896         * platform/network/mac/ResourceResponseMac.mm:
2897         (WebCore::ResourceResponse::initNSURLResponse):
2898         (WebCore::ResourceResponse::nsURLResponse):
2899         (WebCore::ResourceResponse::ResourceResponse):
2900
2901 2011-07-12  Pavel Podivilov  <podivilov@chromium.org>
2902
2903         Web Inspector: Cancelling an empty edit fails.
2904         https://bugs.webkit.org/show_bug.cgi?id=64351
2905
2906         Reviewed by Pavel Feldman.
2907
2908         * inspector/front-end/ResourceView.js:
2909         (WebInspector.EditableResourceSourceFrame.prototype.cancelEditing):
2910
2911 2011-07-12  Pavel Podivilov  <podivilov@chromium.org>
2912
2913         Web Inspector: make TextViewerDelegate methods implementations public in SourceFrame.
2914         https://bugs.webkit.org/show_bug.cgi?id=64353
2915
2916         Reviewed by Pavel Feldman.
2917
2918         * inspector/front-end/SourceFrame.js:
2919         (WebInspector.SourceFrame.prototype.beforeTextChanged):
2920         (WebInspector.SourceFrame.prototype.afterTextChanged):
2921         (WebInspector.SourceFrame.prototype.populateTextAreaContextMenu):
2922         (WebInspector.SourceFrame.prototype.suggestedFileName):
2923         (WebInspector.SourceFrame.prototype.doubleClick):
2924         (WebInspector.SourceFrame.prototype.cancelEditing):
2925         (WebInspector.TextViewerDelegateForSourceFrame.prototype.doubleClick):
2926         (WebInspector.TextViewerDelegateForSourceFrame.prototype.beforeTextChanged):
2927         (WebInspector.TextViewerDelegateForSourceFrame.prototype.afterTextChanged):
2928         (WebInspector.TextViewerDelegateForSourceFrame.prototype.commitEditing):
2929         (WebInspector.TextViewerDelegateForSourceFrame.prototype.cancelEditing):
2930         (WebInspector.TextViewerDelegateForSourceFrame.prototype.populateLineGutterContextMenu):
2931         (WebInspector.TextViewerDelegateForSourceFrame.prototype.populateTextAreaContextMenu):
2932         (WebInspector.TextViewerDelegateForSourceFrame.prototype.suggestedFileName):
2933
2934 2011-07-12  Andrey Kosyakov  <caseq@chromium.org>
2935
2936         Web Inspector: remove more dead code from the Network panel
2937         https://bugs.webkit.org/show_bug.cgi?id=64291
2938
2939         Reviewed by Pavel Feldman.
2940
2941         * inspector/front-end/NetworkPanel.js:
2942         (WebInspector.NetworkPanel.prototype._toggleGridMode):
2943         (WebInspector.NetworkPanel.prototype._toggleViewingResourceMode):
2944         * inspector/front-end/networkPanel.css:
2945
2946 2011-07-12  Adam Roben  <aroben@apple.com>
2947
2948         Unreviewed, rolling out r90811.
2949         http://trac.webkit.org/changeset/90811
2950         https://bugs.webkit.org/show_bug.cgi?id=61025
2951
2952         Several svg tests failing assertions beneath
2953         SVGSMILElement::findInstanceTime
2954
2955         * svg/animation/SVGSMILElement.cpp:
2956         (WebCore::SVGSMILElement::findInstanceTime):
2957
2958 2011-07-12  Oliver Varga  <Varga.Oliver@stud.u-szeged.hu>
2959
2960         Reviewed by Nikolas Zimmermann.
2961
2962         Speed up SVGSMILElement::findInstanceTime.
2963         https://bugs.webkit.org/show_bug.cgi?id=61025
2964
2965         Replace the linear search to binary search on ordered list because
2966         the previous searches from the beginning was not efficient.
2967         Out of index error fixed by Renata Hodovan.
2968
2969         No new tests this is only a performance tweak.
2970
2971         * svg/animation/SVGSMILElement.cpp:
2972         (WebCore::extractTimeFromVector):
2973         (WebCore::SVGSMILElement::findInstanceTime):
2974
2975 2011-07-11  Zeng Huiqing  <huiqing.zeng@intel.com>
2976
2977         Optimize HTMLInputElement::updateCheckedRadioButtons
2978         https://bugs.webkit.org/show_bug.cgi?id=62840
2979
2980         Reviewed by Kent Tamura.
2981
2982         No new tests.
2983
2984         * dom/Document.h:
2985         (WebCore::Document::getFormElements):
2986         * html/HTMLInputElement.cpp:
2987         (WebCore::HTMLInputElement::updateCheckedRadioButtons):
2988         (WebCore::HTMLInputElement::setChecked):
2989
2990 2011-07-11  Pratik Solanki  <psolanki@apple.com>
2991
2992         Reviewed by David Kilzer.
2993
2994         Add NSURLRequest wrapper in ResourceRequest when USE(CFNETWORK) is enabled
2995         https://bugs.webkit.org/show_bug.cgi?id=63276
2996
2997         When USE(CFNETWORK) is enabled on Mac, keep an NSURLRequest object along with the
2998         CFURLRequestRef so that WebKit can continue using the NSURLRequest.
2999
3000         No new tests because no change in functionality and option is not enabled on Mac.
3001
3002         * platform/network/cf/ResourceRequest.h:
3003         (WebCore::ResourceRequest::updateNSURLRequest):
3004         (WebCore::ResourceRequest::ResourceRequest):
3005         * platform/network/cf/ResourceRequestCFNet.cpp:
3006         (WebCore::findCFURLRequestSetContentDispositionEncodingFallbackArrayFunction):
3007         (WebCore::findCFURLRequestCopyContentDispositionEncodingFallbackArrayFunction):
3008         (WebCore::ResourceRequest::doUpdatePlatformRequest):
3009         (WebCore::ResourceRequest::applyWebArchiveHackForMail):
3010         * platform/network/mac/ResourceRequestMac.mm:
3011         (WebCore::ResourceRequest::nsURLRequest):
3012         (WebCore::ResourceRequest::ResourceRequest):
3013         (WebCore::ResourceRequest::updateNSURLRequest):
3014
3015 2011-07-11  Ryosuke Niwa  <rniwa@webkit.org>
3016
3017         positionForPoint is broken when a block is positioned relatively inside the parent
3018         https://bugs.webkit.org/show_bug.cgi?id=64298
3019
3020         Reviewed by Simon Fraser.
3021
3022         The bug was caused by positionForPointRespectingEditingBoundaries's not taking relativePositionOffset
3023         into account when computing the point in child coordinates. Fixed the bug by adding the offset to
3024         childLocation as needed.
3025
3026         Test: fast/block/positioning/hittest-on-relative-positioned-children.html
3027
3028         * rendering/RenderBlock.cpp:
3029         (WebCore::positionForPointRespectingEditingBoundaries): Fixed the bug; also replaced all instances of
3030         IntPoint by LayoutPoint.
3031
3032 2011-07-11  Dan Bernstein  <mitz@apple.com>
3033
3034         Excessive expansion of justified text when rounding hacks are enabled
3035         https://bugs.webkit.org/show_bug.cgi?id=64331
3036
3037         Reviewed by Anders Carlsson.
3038
3039         Test: platform/mac/fast/text/rounding-hacks-expansion.html
3040
3041         When rounding hacks are enabled, the expansion at each expansion opportunity should be by an
3042         integer. Restored more of the logic that was removed in r78846 in order to ensure this.
3043
3044         * platform/graphics/WidthIterator.cpp:
3045         (WebCore::WidthIterator::advance):
3046         * platform/graphics/mac/ComplexTextController.cpp:
3047         (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
3048
3049 2011-07-11  Jer Noble  <jer.noble@apple.com>
3050
3051         HTML5 video controller in fullscreen is partly off-screen (at least on youtube) using ClickToFlash
3052         https://bugs.webkit.org/show_bug.cgi?id=64327
3053
3054         Reviewed by Darin Adler.
3055
3056         No new tests; no change in functionality, so covered by existing tests.
3057
3058         Make the rules from fullscreenQuickTime.css !important so they are not overridden
3059         by page authors.
3060
3061         * css/fullscreenQuickTime.css:
3062         (video:-webkit-full-screen::-webkit-media-controls-panel):
3063
3064 2011-07-11  Levi Weintraub  <leviw@chromium.org>
3065
3066         Switch lineTop and lineBottom to new layout types
3067         https://bugs.webkit.org/show_bug.cgi?id=64317
3068
3069         Reviewed by Eric Seidel.
3070
3071         Changing lineTop and lineBottom to LayoutUnits and preparing all uses
3072         of them for the upcoming conversion.
3073
3074         No new tests, no new functionality.
3075
3076         * rendering/EllipsisBox.cpp:
3077         (WebCore::EllipsisBox::nodeAtPoint):
3078         * rendering/EllipsisBox.h:
3079         * rendering/GapRects.h:
3080         (WebCore::GapRects::left):
3081         (WebCore::GapRects::center):
3082         (WebCore::GapRects::right):
3083         (WebCore::GapRects::uniteLeft):
3084         (WebCore::GapRects::uniteCenter):
3085         (WebCore::GapRects::uniteRight):
3086         (WebCore::GapRects::operator LayoutRect):
3087         * rendering/InlineBox.cpp:
3088         (WebCore::InlineBox::nodeAtPoint):
3089         * rendering/InlineBox.h:
3090         * rendering/InlineFlowBox.cpp:
3091         (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
3092         (WebCore::InlineFlowBox::flipLinesInBlockDirection):
3093         (WebCore::InlineFlowBox::computeOverflow):
3094         (WebCore::InlineFlowBox::setLayoutOverflow):
3095         (WebCore::InlineFlowBox::setVisualOverflow):
3096         (WebCore::InlineFlowBox::setOverflowFromLogicalRects):
3097         (WebCore::InlineFlowBox::nodeAtPoint):
3098         * rendering/InlineFlowBox.h:
3099         (WebCore::InlineFlowBox::layoutOverflowRect):
3100         (WebCore::InlineFlowBox::visualOverflowRect):
3101         * rendering/InlineTextBox.cpp:
3102         (WebCore::InlineTextBox::nodeAtPoint):
3103         * rendering/RenderLineBoxList.cpp:
3104         (WebCore::RenderLineBoxList::anyLineIntersectsRect):
3105         * rendering/RenderLineBoxList.h:
3106         * rendering/RenderListItem.cpp:
3107         (WebCore::RenderListItem::positionListMarker):
3108         * rendering/RenderTextControl.h:
3109         * rendering/RenderTextControlMultiLine.cpp:
3110         (WebCore::RenderTextControlMultiLine::adjustControlHeightBasedOnLineHeight):
3111         * rendering/RenderTextControlSingleLine.cpp:
3112         (WebCore::RenderTextControlSingleLine::adjustControlHeightBasedOnLineHeight):
3113         * rendering/RenderTextControlSingleLine.h:
3114         * rendering/RootInlineBox.cpp:
3115         (WebCore::RootInlineBox::nodeAtPoint):
3116         * rendering/RootInlineBox.h:
3117         (WebCore::RootInlineBox::lineTop):
3118         (WebCore::RootInlineBox::lineBottom):
3119         (WebCore::RootInlineBox::setLineTopBottomPositions):
3120         (WebCore::RootInlineBox::logicalTopVisualOverflow):
3121         (WebCore::RootInlineBox::logicalBottomVisualOverflow):
3122         (WebCore::RootInlineBox::logicalTopLayoutOverflow):
3123         (WebCore::RootInlineBox::logicalBottomLayoutOverflow):
3124         * rendering/svg/SVGInlineFlowBox.h:
3125         * rendering/svg/SVGInlineTextBox.cpp:
3126         (WebCore::SVGInlineTextBox::nodeAtPoint):
3127         * rendering/svg/SVGInlineTextBox.h:
3128         * rendering/svg/SVGRootInlineBox.h:
3129
3130 2011-07-11  Martin Robinson  <mrobinson@igalia.com>
3131
3132         Reviewed by Daniel Bates.
3133
3134         [GTK] Transition to Mozilla named cursors have incorrect hotspot and rendering
3135         https://bugs.webkit.org/show_bug.cgi?id=62752
3136
3137         Instead of offsetting the cursor blit by the hotspot, just pass the hotspot
3138         arguments to the GdkCursor constructor.
3139
3140         No new tests. This is covered by manual-tests/cursor.html.
3141
3142         * platform/gtk/CursorGtk.cpp:
3143         (WebCore::createNamedCursor):
3144
3145 2011-07-11  Yi Shen  <yi.4.shen@nokia.com>
3146
3147         [Qt] Unreviewed rollout 90779 which may fail the layout-test.
3148
3149         * platform/network/qt/QNetworkReplyHandler.cpp:
3150         (WebCore::QNetworkReplyHandlerCallQueue::setDeferSignals):
3151         * platform/network/qt/QNetworkReplyHandler.h:
3152
3153 2011-07-11  Bradley Nelson  <bradnelson@chromium.org>
3154
3155         Reviewed by Darin Fisher.
3156
3157         Split webcore_dom off webcore_remaining to reduce its size for
3158         whole program optimization builds.
3159
3160         https://bugs.webkit.org/show_bug.cgi?id=64299
3161
3162         * WebCore.gyp/WebCore.gyp:
3163
3164 2011-07-11  Yi Shen  <yi.4.shen@nokia.com>
3165
3166         [Qt] ASSERTION FAILED in ResourceHandle::setDefersLoading causes crash
3167         https://bugs.webkit.org/show_bug.cgi?id=62808
3168
3169         Reviewed by Benjamin Poulain.
3170
3171         The assertion in ResourceHandle::setDefersLoading assumes asynchronous
3172         content delivery -- To resume a page, first, its main resource loader
3173         calls setDefersLoading to resume loading the main content; then all the
3174         sub-resource loaders calls setDefersLoading to resume sub-contents.
3175         However, since QNetworkReplyHandler delivers content synchronously,
3176         some new sub-resource loaders get created as soon as the main resource
3177         loader resumed, and all these new sub-resource loaders set their
3178         defersLoading flag to false. Then, the assertion fails for these new
3179         sub-resource loaders when calling setDefersLoading on them. As a fix,
3180         this path makes QNetworkReplyHandler deliver content asynchronously.
3181
3182         Test: loader/load-defer-resume-crash.html
3183
3184         * platform/network/qt/QNetworkReplyHandler.cpp:
3185         (WebCore::QNetworkReplyHandlerCallQueue::setDeferSignals):
3186         * platform/network/qt/QNetworkReplyHandler.h:
3187
3188 2011-07-08  Ryosuke Niwa  <rniwa@webkit.org>
3189
3190         Move innerTextElement() from RenderTextControl to HTMLTextFormControlElement
3191         https://bugs.webkit.org/show_bug.cgi?id=64134
3192
3193         Reviewed by Kent Tamura.
3194
3195         Moved innerTextElement from RenderTextControl to HTMLTextFormControlElement. It is implemented by
3196         HTMLInputElement and HTMLTextAreaElement instead of RenderTextControlSingleLine and
3197         RenderTextControlMultiLine.
3198
3199         This refactoring removes the indirection through RenderTextControl and makes the ownership of
3200         shadow DOM for input and textarea elements clear. Accessing the shadow DOM of input and textarea elements
3201         are now less error prone because it no longer depends on the lifetime of the render tree.
3202
3203         * accessibility/AccessibilityRenderObject.cpp:
3204         (WebCore::AccessibilityRenderObject::indexForVisiblePosition): Access innerTextElement via
3205         HTMLTextFormControlElement.
3206         * dom/Node.cpp:
3207         (WebCore::traverseTreeAndMark): No longer calls innerTextElement because this was a work-around
3208         needed before making input and textarea elements use the new shadow DOM model.
3209         * editing/TextIterator.cpp:
3210         (WebCore::TextIterator::handleReplacedElement): Access innerTextElement via HTMLTextFormControlElement.
3211         * html/HTMLFormControlElement.cpp:
3212         (WebCore::hasVisibleTextArea): Takes innerTextElement.
3213         (WebCore::HTMLTextFormControlElement::setSelectionRange): Calls innerTextElement().
3214         (WebCore::HTMLTextFormControlElement::selection): Ditto.
3215         (WebCore::HTMLTextFormControlElement::selectionStart): Ditto; no longer uses a temporary local variable
3216         for innerTextElement because innerTextElement() no longer depends on the lifetime of the render tree.
3217         (WebCore::HTMLTextFormControlElement::selectionEnd): Ditto.
3218         * html/HTMLFormControlElement.h:
3219         * html/HTMLTextAreaElement.cpp:
3220         (WebCore::HTMLTextAreaElement::innerTextElement): Added.
3221         * html/HTMLTextAreaElement.h:
3222         * rendering/RenderTextControl.cpp:
3223         (WebCore::RenderTextControl::textFormControlElement): Made this function a const member.
3224         (WebCore::RenderTextControl::innerTextElement): Added.
3225         * rendering/RenderTextControl.h:
3226         * rendering/RenderTextControlMultiLine.cpp:
3227         * rendering/RenderTextControlMultiLine.h:
3228         * rendering/RenderTextControlSingleLine.cpp:
3229         * rendering/RenderTextControlSingleLine.h:
3230
3231 2011-07-11  Tony Chang  <tony@chromium.org>
3232
3233         rename RenderObject::isFlexibleBox to isDeprecatedFlexibleBox
3234         https://bugs.webkit.org/show_bug.cgi?id=64217
3235
3236         Reviewed by Ojan Vafai.
3237
3238         This is to make way for the new flexbox needing a similar method.
3239         RenderObject also has isFlexingChildren() and isStretchingChildren(),
3240         but we may be able to use those for the new flexbox as well so I
3241         didn't rename them.
3242
3243         No new tests, just refactoring.
3244
3245         * rendering/RenderBlock.cpp:
3246         (WebCore::RenderBlock::removeChild):
3247         (WebCore::RenderBlock::expandsToEncloseOverhangingFloats):
3248         (WebCore::shouldCheckLines):
3249         * rendering/RenderBox.cpp:
3250         (WebCore::RenderBox::removeFloatingOrPositionedChildFromBlockLists):
3251         (WebCore::RenderBox::computeLogicalWidth):
3252         (WebCore::RenderBox::sizesToIntrinsicLogicalWidth):
3253         (WebCore::RenderBox::computeLogicalHeight):
3254         * rendering/RenderDeprecatedFlexibleBox.cpp:
3255         (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
3256         * rendering/RenderDeprecatedFlexibleBox.h:
3257         (WebCore::RenderDeprecatedFlexibleBox::isDeprecatedFlexibleBox):
3258         * rendering/RenderObject.h:
3259         (WebCore::RenderObject::isDeprecatedFlexibleBox):
3260
3261 2011-07-11  Nate Chapin  <japhet@chromium.org>
3262
3263         [Chromium] Ensure we don't crash when an
3264         HTMLSelectElement mouse release event removes
3265         the element from the DOM.
3266         https://bugs.webkit.org/show_bug.cgi?id=64295
3267
3268         Reviewed by Dimitri Glazkov.
3269
3270         Manual test only because the crash requires a
3271         real popup menu, which DRT doesn't provide.
3272
3273         * manual-tests/chromium/popup-menu-crash.html: Added.
3274         * platform/chromium/PopupMenuChromium.cpp:
3275         (WebCore::PopupContainer::handleMouseReleaseEvent):
3276
3277 2011-07-11  Mike Reed  <reed@google.com>
3278
3279         [skia] remove platform helpers for gradients and patterns
3280         https://bugs.webkit.org/show_bug.cgi?id=64281
3281
3282         Reviewed by Stephen White.
3283
3284         No new tests. fixes canvas/philip/tests/2d.gradient.object.update.html
3285
3286         Remove (now empty) platform helpers for fill/stroke gradients/patterns. We now pickup the platformGradient
3287         and platformPattern fresh when they're needed, so we can see any edits that have occurred to them
3288         2d.gradient.object.update.html sets the fillgradient, and then edits the gradient object. This CL allows
3289         us to see that edit.
3290
3291         * platform/graphics/GraphicsContext.cpp:
3292         (WebCore::GraphicsContext::setStrokePattern):
3293         (WebCore::GraphicsContext::setFillPattern):
3294         (WebCore::GraphicsContext::setStrokeGradient):
3295         (WebCore::GraphicsContext::setFillGradient):
3296         * platform/graphics/GraphicsContext.h:
3297         * platform/graphics/skia/GraphicsContextSkia.cpp:
3298         (WebCore::GraphicsContext::platformInit):
3299         * platform/graphics/skia/PlatformContextSkia.cpp:
3300         (WebCore::PlatformContextSkia::State::State):
3301         (WebCore::PlatformContextSkia::State::~State):
3302         (WebCore::PlatformContextSkia::PlatformContextSkia):
3303         (WebCore::PlatformContextSkia::drawRect):
3304         (WebCore::PlatformContextSkia::setupShader):
3305         (WebCore::PlatformContextSkia::setupPaintForFilling):
3306         (WebCore::PlatformContextSkia::setupPaintForStroking):
3307         (WebCore::PlatformContextSkia::setFillColor):
3308         (WebCore::PlatformContextSkia::setStrokeColor):
3309         (WebCore::PlatformContextSkia::canAccelerate):
3310         * platform/graphics/skia/PlatformContextSkia.h:
3311         (WebCore::PlatformContextSkia::setGraphicsContext):
3312
3313 2011-07-11  Young Han Lee  <joybro@company100.net>
3314
3315         Reviewed by Simon Fraser.
3316
3317         Transition LayoutTest using pause API shows wrong result if it tries to pause a transition after its delay time.
3318         https://bugs.webkit.org/show_bug.cgi?id=63859
3319
3320         The existing code to set the m_startTime haven't worked because 
3321         the animation is not the right state to accept the start event. 
3322         This patch just sets the values directly instead of using event.
3323
3324         Test: transitions/delay.html
3325
3326         * page/animation/AnimationBase.cpp:
3327         (WebCore::AnimationBase::freezeAtTime):
3328
3329 2011-07-11  Ryosuke Niwa  <rniwa@webkit.org>
3330
3331         Move selection related code from RenderTextControl to HTMLTextFormControlElement
3332         https://bugs.webkit.org/show_bug.cgi?id=64133
3333
3334         Reviewed by Dimitri Glazkov.
3335
3336         Moved selectionStart, selectionEnd, hasVisibleTextArea, setSelectionRange, setContainerAndOffsetForRange
3337         and selection from RenderTextControl.cpp to HTMLFormControlElement.cpp.
3338
3339         This refactoring removes RenderTextControl's dependency on FrameSelection.
3340
3341         * accessibility/AccessibilityRenderObject.cpp:
3342         (WebCore::AccessibilityRenderObject::selectedText): Calls HTMLTextFromControl::selectedText.
3343         (WebCore::AccessibilityRenderObject::selectedTextRange): Calls selectionStart and selectionEnd.
3344         (WebCore::AccessibilityRenderObject::setSelectedTextRange): Ditto.
3345         * html/HTMLFormControlElement.cpp:
3346         (WebCore::HTMLTextFormControlElement::selectedText): Extracted from AccessibilityRenderObject::selectedText.
3347         (WebCore::hasVisibleTextArea): Added.
3348         (WebCore::HTMLTextFormControlElement::setSelectionRange): Merged with the function of the same name in RenderTextControl.
3349         (WebCore::HTMLTextFormControlElement::selectionStart): Calls computeSelectionStart instead of RenderTextControl::selectionStart.
3350         (WebCore::HTMLTextFormControlElement::computeSelectionStart): Moved from RenderTextControl::selectionStart.
3351         (WebCore::HTMLTextFormControlElement::selectionEnd): Calls computeSelectionEnd instead of RenderText::selectionEnd.
3352         (WebCore::HTMLTextFormControlElement::computeSelectionEnd): Moved from RenderTextControl::selectionStart.
3353         (WebCore::setContainerAndOffsetForRange): Moved from RenderTextControl.cpp.
3354         (WebCore::HTMLTextFormControlElement::selection): Merged with the function of the same name in RenderTextControl.
3355         (WebCore::HTMLTextFormControlElement::restoreCachedSelection): Calls computeSelectionStart and computeSelectionEnd instead of
3356         RenderTextControl::selectionStart and RenderTextControl::selectionEnd.
3357         (WebCore::HTMLTextFormControlElement::selectionChanged): Calls selectionStart and selectionEnd.
3358         * html/HTMLFormControlElement.h:
3359         * html/HTMLInputElement.cpp:
3360         (WebCore::HTMLInputElement::setValue): Calls setSelectionRange.
3361         * rendering/RenderTextControl.cpp:
3362         (WebCore::RenderTextControl::textFormControlElement): Added.
3363         * rendering/RenderTextControl.h:
3364
3365 2011-07-11  Andreas Kling  <kling@webkit.org>
3366
3367         Reviewed by Oliver Hunt.
3368
3369         Canvas: Use fast, approximate dirty rects for stroke()
3370         https://bugs.webkit.org/show_bug.cgi?id=59764
3371
3372         No new tests, this is an optimization.
3373
3374         * html/canvas/CanvasRenderingContext2D.cpp:
3375         (WebCore::CanvasRenderingContext2D::stroke): Instead of using
3376         Path::strokeBoundingRect() to calculate the exact bounding rect
3377         for a path stroke, get the Path::boundingRect() and inflate it by
3378         miterLimit + lineWidth to get a slightly oversized dirty rect
3379         in a fraction of the time.
3380
3381 2011-07-11  Andrey Kosyakov  <caseq@chromium.org>
3382
3383         Reviewed by Pavel Feldman.
3384
3385         Web Inspector: [refactoring] Remove dependencies of components requiring network resource list from network panel
3386         https://bugs.webkit.org/show_bug.cgi?id=62477
3387
3388         * inspector/front-end/AuditsPanel.js:
3389         * inspector/front-end/ExtensionServer.js:
3390         (WebInspector.ExtensionServer):
3391         (WebInspector.ExtensionServer.prototype._inspectedURLChanged):
3392         (WebInspector.ExtensionServer.prototype._onGetHAR):
3393         (WebInspector.ExtensionServer.prototype.initExtensions):
3394         * inspector/front-end/HAREntry.js:
3395         (WebInspector.HARLog):
3396         (WebInspector.HARLog.prototype.build):
3397         * inspector/front-end/NetworkManager.js:
3398         (WebInspector.NetworkLog):
3399         (WebInspector.NetworkLog.prototype.get resources):
3400         (WebInspector.NetworkLog.prototype._onInspectedURLChanged):
3401         (WebInspector.NetworkLog.prototype._onResourceStarted):
3402         * inspector/front-end/NetworkPanel.js:
3403         (WebInspector.NetworkPanel.prototype._reset):
3404         (WebInspector.NetworkPanel.prototype._copyAll):
3405         (WebInspector.NetworkPanel.prototype._exportAll):
3406         * inspector/front-end/inspector.js:
3407         (WebInspector.reset):
3408
3409 2011-07-11  Pavel Podivilov  <podivilov@chromium.org>
3410
3411         Web Inspector: make SourceFrame a View.
3412         https://bugs.webkit.org/show_bug.cgi?id=64274
3413
3414         Reviewed by Pavel Feldman.
3415
3416         * inspector/front-end/SourceFrame.js:
3417         (WebInspector.SourceFrame):
3418         (WebInspector.SourceFrame.createSearchRegex):
3419         (WebInspector.SourceFrame.prototype.show):
3420         (WebInspector.SourceFrame.prototype.hide):
3421         (WebInspector.SourceFrame.prototype._beforeTextChanged):
3422         (WebInspector.SourceFrame.prototype._afterTextChanged):
3423         (WebInspector.SourceFrame.prototype._initializeTextViewer):
3424         (WebInspector.SourceFrame.prototype.performSearch.doFindSearchMatches):
3425         (WebInspector.SourceFrame.prototype.performSearch):
3426         (WebInspector.SourceFrame.prototype._populateTextAreaContextMenu):
3427         (WebInspector.SourceFrame.prototype._suggestedFileName):
3428         (WebInspector.SourceFrame.prototype._doubleClick):
3429         (WebInspector.SourceFrame.prototype._cancelEditing):
3430         (WebInspector.TextViewerDelegateForSourceFrame):
3431         (WebInspector.TextViewerDelegateForSourceFrame.prototype.doubleClick):
3432         (WebInspector.TextViewerDelegateForSourceFrame.prototype.beforeTextChanged):
3433         (WebInspector.TextViewerDelegateForSourceFrame.prototype.afterTextChanged):
3434         (WebInspector.TextViewerDelegateForSourceFrame.prototype.commitEditing):
3435         (WebInspector.TextViewerDelegateForSourceFrame.prototype.cancelEditing):
3436         (WebInspector.TextViewerDelegateForSourceFrame.prototype.populateLineGutterContextMenu):
3437         (WebInspector.TextViewerDelegateForSourceFrame.prototype.populateTextAreaContextMenu):
3438         (WebInspector.TextViewerDelegateForSourceFrame.prototype.suggestedFileName):
3439         * inspector/front-end/TextViewer.js:
3440         (WebInspector.TextViewerDelegate.prototype.populateLineGutterContextMenu):
3441
3442 2011-07-11  Noel Gordon  <noel.gordon@gmail.com>
3443
3444         Reviewed by Adam Roben.
3445
3446         Forward focus events to windowless plugins on the windows port.
3447         https://bugs.webkit.org/show_bug.cgi?id=62375
3448
3449         * plugins/win/PluginViewWin.cpp:
3450         (WebCore::PluginView::setFocus): Forward focus events if the plugin is windowless.
3451
3452 2011-07-11  Shinya Kawanaka  <shinyak@google.com>
3453
3454         Added accessibility notification when value is changed.
3455         https://bugs.webkit.org/show_bug.cgi?id=64256
3456
3457         Notifies the value change of range input when accessibility is enabled.
3458
3459         Reviewed by Kent Tamura.
3460
3461         Covered by existing tests.
3462