OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2011 Google Inc. All rights reserved. | 2 * Copyright (C) 2011 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 20 matching lines...) Expand all Loading... |
31 #include "config.h" | 31 #include "config.h" |
32 #include "core/inspector/InspectorPageAgent.h" | 32 #include "core/inspector/InspectorPageAgent.h" |
33 | 33 |
34 #include "bindings/core/v8/DOMWrapperWorld.h" | 34 #include "bindings/core/v8/DOMWrapperWorld.h" |
35 #include "bindings/core/v8/ScriptController.h" | 35 #include "bindings/core/v8/ScriptController.h" |
36 #include "bindings/core/v8/ScriptRegexp.h" | 36 #include "bindings/core/v8/ScriptRegexp.h" |
37 #include "core/HTMLNames.h" | 37 #include "core/HTMLNames.h" |
38 #include "core/animation/AnimationTimeline.h" | 38 #include "core/animation/AnimationTimeline.h" |
39 #include "core/css/StyleSheetContents.h" | 39 #include "core/css/StyleSheetContents.h" |
40 #include "core/css/resolver/StyleResolver.h" | 40 #include "core/css/resolver/StyleResolver.h" |
41 #include "core/css/resolver/ViewportStyleResolver.h" | |
42 #include "core/dom/DOMImplementation.h" | 41 #include "core/dom/DOMImplementation.h" |
43 #include "core/dom/Document.h" | 42 #include "core/dom/Document.h" |
44 #include "core/fetch/CSSStyleSheetResource.h" | 43 #include "core/fetch/CSSStyleSheetResource.h" |
45 #include "core/fetch/FontResource.h" | 44 #include "core/fetch/FontResource.h" |
46 #include "core/fetch/ImageResource.h" | 45 #include "core/fetch/ImageResource.h" |
47 #include "core/fetch/MemoryCache.h" | 46 #include "core/fetch/MemoryCache.h" |
48 #include "core/fetch/Resource.h" | 47 #include "core/fetch/Resource.h" |
49 #include "core/fetch/ResourceFetcher.h" | 48 #include "core/fetch/ResourceFetcher.h" |
50 #include "core/fetch/ScriptResource.h" | 49 #include "core/fetch/ScriptResource.h" |
51 #include "core/frame/FrameView.h" | 50 #include "core/frame/FrameView.h" |
(...skipping 380 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
432 , m_lastScriptIdentifier(0) | 431 , m_lastScriptIdentifier(0) |
433 , m_enabled(false) | 432 , m_enabled(false) |
434 , m_ignoreScriptsEnabledNotification(false) | 433 , m_ignoreScriptsEnabledNotification(false) |
435 , m_deviceMetricsOverridden(false) | 434 , m_deviceMetricsOverridden(false) |
436 , m_emulateMobileEnabled(false) | 435 , m_emulateMobileEnabled(false) |
437 , m_touchEmulationEnabled(false) | 436 , m_touchEmulationEnabled(false) |
438 , m_originalTouchEnabled(false) | 437 , m_originalTouchEnabled(false) |
439 , m_originalDeviceSupportsMouse(false) | 438 , m_originalDeviceSupportsMouse(false) |
440 , m_originalDeviceSupportsTouch(false) | 439 , m_originalDeviceSupportsTouch(false) |
441 , m_originalMaxTouchPoints(0) | 440 , m_originalMaxTouchPoints(0) |
| 441 , m_embedderFontScaleFactor(m_page->settings().deviceScaleAdjustment()) |
442 , m_embedderTextAutosizingEnabled(m_page->settings().textAutosizingEnabled()
) | 442 , m_embedderTextAutosizingEnabled(m_page->settings().textAutosizingEnabled()
) |
443 , m_embedderFontScaleFactor(m_page->settings().deviceScaleAdjustment()) | |
444 , m_embedderPreferCompositingToLCDTextEnabled(m_page->settings().preferCompo
sitingToLCDTextEnabled()) | 443 , m_embedderPreferCompositingToLCDTextEnabled(m_page->settings().preferCompo
sitingToLCDTextEnabled()) |
445 , m_reloading(false) | 444 , m_reloading(false) |
| 445 , m_embedderUseMobileViewport(m_page->settings().useMobileViewportStyle()) |
446 { | 446 { |
447 } | 447 } |
448 | 448 |
449 void InspectorPageAgent::setTextAutosizingEnabled(bool enabled) | 449 void InspectorPageAgent::setTextAutosizingEnabled(bool enabled) |
450 { | 450 { |
451 m_embedderTextAutosizingEnabled = enabled; | 451 m_embedderTextAutosizingEnabled = enabled; |
452 bool emulateMobileEnabled = m_enabled && m_deviceMetricsOverridden && m_emul
ateMobileEnabled; | 452 bool emulateMobileEnabled = m_enabled && m_deviceMetricsOverridden && m_emul
ateMobileEnabled; |
453 if (!emulateMobileEnabled) | 453 if (!emulateMobileEnabled) |
454 m_page->settings().setTextAutosizingEnabled(enabled); | 454 m_page->settings().setTextAutosizingEnabled(enabled); |
455 } | 455 } |
456 | 456 |
457 void InspectorPageAgent::setDeviceScaleAdjustment(float deviceScaleAdjustment) | 457 void InspectorPageAgent::setDeviceScaleAdjustment(float deviceScaleAdjustment) |
458 { | 458 { |
459 m_embedderFontScaleFactor = deviceScaleAdjustment; | 459 m_embedderFontScaleFactor = deviceScaleAdjustment; |
460 bool emulateMobileEnabled = m_enabled && m_deviceMetricsOverridden && m_emul
ateMobileEnabled; | 460 bool emulateMobileEnabled = m_enabled && m_deviceMetricsOverridden && m_emul
ateMobileEnabled; |
461 if (!emulateMobileEnabled) | 461 if (!emulateMobileEnabled) |
462 m_page->settings().setDeviceScaleAdjustment(deviceScaleAdjustment); | 462 m_page->settings().setDeviceScaleAdjustment(deviceScaleAdjustment); |
463 } | 463 } |
464 | 464 |
465 void InspectorPageAgent::setPreferCompositingToLCDTextEnabled(bool enabled) | 465 void InspectorPageAgent::setPreferCompositingToLCDTextEnabled(bool enabled) |
466 { | 466 { |
467 m_embedderPreferCompositingToLCDTextEnabled = enabled; | 467 m_embedderPreferCompositingToLCDTextEnabled = enabled; |
468 bool emulateMobileEnabled = m_enabled && m_deviceMetricsOverridden && m_emul
ateMobileEnabled; | 468 bool emulateMobileEnabled = m_enabled && m_deviceMetricsOverridden && m_emul
ateMobileEnabled; |
469 if (!emulateMobileEnabled) | 469 if (!emulateMobileEnabled) |
470 m_page->settings().setPreferCompositingToLCDTextEnabled(enabled); | 470 m_page->settings().setPreferCompositingToLCDTextEnabled(enabled); |
471 } | 471 } |
472 | 472 |
| 473 void InspectorPageAgent::setUseMobileViewportStyle(bool enabled) |
| 474 { |
| 475 m_embedderUseMobileViewport = enabled; |
| 476 bool emulateMobileEnabled = m_enabled && m_deviceMetricsOverridden && m_emul
ateMobileEnabled; |
| 477 if (!emulateMobileEnabled) |
| 478 m_page->settings().setUseMobileViewportStyle(enabled); |
| 479 } |
| 480 |
473 void InspectorPageAgent::setFrontend(InspectorFrontend* frontend) | 481 void InspectorPageAgent::setFrontend(InspectorFrontend* frontend) |
474 { | 482 { |
475 m_frontend = frontend->page(); | 483 m_frontend = frontend->page(); |
476 } | 484 } |
477 | 485 |
478 void InspectorPageAgent::clearFrontend() | 486 void InspectorPageAgent::clearFrontend() |
479 { | 487 { |
480 ErrorString error; | 488 ErrorString error; |
481 disable(&error); | 489 disable(&error); |
482 m_frontend = 0; | 490 m_frontend = 0; |
(...skipping 902 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1385 Document* document = inspectedFrame()->document(); | 1393 Document* document = inspectedFrame()->document(); |
1386 if (document) { | 1394 if (document) { |
1387 document->styleResolverChanged(); | 1395 document->styleResolverChanged(); |
1388 document->mediaQueryAffectingValueChanged(); | 1396 document->mediaQueryAffectingValueChanged(); |
1389 } | 1397 } |
1390 | 1398 |
1391 if (m_deviceMetricsOverridden) { | 1399 if (m_deviceMetricsOverridden) { |
1392 m_page->settings().setTextAutosizingEnabled(mobile); | 1400 m_page->settings().setTextAutosizingEnabled(mobile); |
1393 m_page->settings().setPreferCompositingToLCDTextEnabled(mobile); | 1401 m_page->settings().setPreferCompositingToLCDTextEnabled(mobile); |
1394 m_page->settings().setDeviceScaleAdjustment(calculateFontScaleFactor(wid
th, height, static_cast<float>(deviceScaleFactor))); | 1402 m_page->settings().setDeviceScaleAdjustment(calculateFontScaleFactor(wid
th, height, static_cast<float>(deviceScaleFactor))); |
| 1403 m_page->settings().setUseMobileViewportStyle(mobile); |
1395 } else { | 1404 } else { |
1396 m_page->settings().setTextAutosizingEnabled(m_embedderTextAutosizingEnab
led); | 1405 m_page->settings().setTextAutosizingEnabled(m_embedderTextAutosizingEnab
led); |
1397 m_page->settings().setPreferCompositingToLCDTextEnabled(m_embedderPrefer
CompositingToLCDTextEnabled); | 1406 m_page->settings().setPreferCompositingToLCDTextEnabled(m_embedderPrefer
CompositingToLCDTextEnabled); |
1398 m_page->settings().setDeviceScaleAdjustment(m_embedderFontScaleFactor); | 1407 m_page->settings().setDeviceScaleAdjustment(m_embedderFontScaleFactor); |
| 1408 m_page->settings().setUseMobileViewportStyle(m_embedderUseMobileViewport
); |
1399 } | 1409 } |
1400 | 1410 |
1401 // FIXME: allow metrics override, fps counter and continuous painting at the
same time: crbug.com/299837. | 1411 // FIXME: allow metrics override, fps counter and continuous painting at the
same time: crbug.com/299837. |
1402 m_client->setShowFPSCounter(m_state->getBoolean(PageAgentState::pageAgentSho
wFPSCounter) && !m_deviceMetricsOverridden); | 1412 m_client->setShowFPSCounter(m_state->getBoolean(PageAgentState::pageAgentSho
wFPSCounter) && !m_deviceMetricsOverridden); |
1403 m_client->setContinuousPaintingEnabled(m_state->getBoolean(PageAgentState::p
ageAgentContinuousPaintingEnabled) && !m_deviceMetricsOverridden); | 1413 m_client->setContinuousPaintingEnabled(m_state->getBoolean(PageAgentState::p
ageAgentContinuousPaintingEnabled) && !m_deviceMetricsOverridden); |
1404 } | 1414 } |
1405 | 1415 |
1406 void InspectorPageAgent::updateTouchEventEmulationInPage(bool enabled) | 1416 void InspectorPageAgent::updateTouchEventEmulationInPage(bool enabled) |
1407 { | 1417 { |
1408 if (!inspectedFrame()->isMainFrame()) | 1418 if (!inspectedFrame()->isMainFrame()) |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1444 | 1454 |
1445 m_state->setString(PageAgentState::pageAgentEmulatedMedia, media); | 1455 m_state->setString(PageAgentState::pageAgentEmulatedMedia, media); |
1446 Document* document = inspectedFrame()->document(); | 1456 Document* document = inspectedFrame()->document(); |
1447 if (document) { | 1457 if (document) { |
1448 document->mediaQueryAffectingValueChanged(); | 1458 document->mediaQueryAffectingValueChanged(); |
1449 document->styleResolverChanged(); | 1459 document->styleResolverChanged(); |
1450 document->updateLayout(); | 1460 document->updateLayout(); |
1451 } | 1461 } |
1452 } | 1462 } |
1453 | 1463 |
1454 bool InspectorPageAgent::applyViewportStyleOverride(StyleResolver* resolver) | |
1455 { | |
1456 if (!m_deviceMetricsOverridden || !m_emulateMobileEnabled) | |
1457 return false; | |
1458 | |
1459 RefPtrWillBeRawPtr<StyleSheetContents> styleSheet = StyleSheetContents::crea
te(CSSParserContext(UASheetMode, 0)); | |
1460 styleSheet->parseString(loadResourceAsASCIIString("viewportAndroid.css")); | |
1461 OwnPtrWillBeRawPtr<RuleSet> ruleSet = RuleSet::create(); | |
1462 ruleSet->addRulesFromSheet(styleSheet.get(), MediaQueryEvaluator("screen")); | |
1463 resolver->viewportStyleResolver()->collectViewportRules(ruleSet.get(), Viewp
ortStyleResolver::UserAgentOrigin); | |
1464 return true; | |
1465 } | |
1466 | |
1467 void InspectorPageAgent::applyEmulatedMedia(String* media) | 1464 void InspectorPageAgent::applyEmulatedMedia(String* media) |
1468 { | 1465 { |
1469 String emulatedMedia = m_state->getString(PageAgentState::pageAgentEmulatedM
edia); | 1466 String emulatedMedia = m_state->getString(PageAgentState::pageAgentEmulatedM
edia); |
1470 if (!emulatedMedia.isEmpty()) | 1467 if (!emulatedMedia.isEmpty()) |
1471 *media = emulatedMedia; | 1468 *media = emulatedMedia; |
1472 } | 1469 } |
1473 | 1470 |
1474 bool InspectorPageAgent::compositingEnabled(ErrorString* errorString) | 1471 bool InspectorPageAgent::compositingEnabled(ErrorString* errorString) |
1475 { | 1472 { |
1476 if (!m_page->settings().acceleratedCompositingEnabled()) { | 1473 if (!m_page->settings().acceleratedCompositingEnabled()) { |
(...skipping 30 matching lines...) Expand all Loading... |
1507 visitor->trace(m_page); | 1504 visitor->trace(m_page); |
1508 visitor->trace(m_injectedScriptManager); | 1505 visitor->trace(m_injectedScriptManager); |
1509 visitor->trace(m_debuggerAgent); | 1506 visitor->trace(m_debuggerAgent); |
1510 visitor->trace(m_cssAgent); | 1507 visitor->trace(m_cssAgent); |
1511 visitor->trace(m_inspectorResourceContentLoader); | 1508 visitor->trace(m_inspectorResourceContentLoader); |
1512 InspectorBaseAgent::trace(visitor); | 1509 InspectorBaseAgent::trace(visitor); |
1513 } | 1510 } |
1514 | 1511 |
1515 } // namespace blink | 1512 } // namespace blink |
1516 | 1513 |
OLD | NEW |